Hi
Ich habe mich eben mit einem Java Tutorial über Server und Clients befasst. Link
Nun habe ich das ganze mal schnell nach geschrieben und etwas abgeändert.
So ich wollte einfach ein paar Zeilen Text hin und her schicken. Das funktioniert auch halb.
Als Asugabe erhalte ich dann in der Konsole folgendes:
Ich stehe etwas auf dem Schlauch. Ich sehe den Fehler nicht warum nur die hälfte der Nachrichten die ich übertragen will beim Socket ankommen. Hat jemand eine Idee?
LG
Ogofo
Nun habe ich das ganze mal schnell nach geschrieben und etwas abgeändert.
Java:
import java.io.*;
import java.net.*;
public class MClient{
public static void main(String[] args) throws IOException {
Socket echoSocket = null;
PrintWriter out = null;
BufferedReader in = null;
try {
echoSocket = new Socket("anonymous", 4444);
out = new PrintWriter(echoSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(
echoSocket.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("Don't know about host.");
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for "
+ "the connection to:.");
System.exit(1);
}
while(in.readLine() != null)
System.out.println(in.readLine());
out.close();
in.close();
echoSocket.close();
}
}
Java:
import java.net.*;
import java.io.*;
class MServer
{
public static void main(String[] args) throws Exception
{
ServerSocket s = null;
try
{
//creates a new ServerSocket, listening to port 4444
s = new ServerSocket(4444);
}catch(IOException e)
{
System.err.println("Could not listen on port: 4444.");
System.exit(1);
}
Socket client = null;
try
{
//creates a connection with a new client
client = s.accept();
System.out.println("Connection established");
}catch(IOException e)
{
System.err.println("Accept failed.");
System.exit(1);
}
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(
client.getInputStream()));
String inputline;
for(int i = 0; i <20; i++)
{
out.println("Connection established. Hello Socket. Line nr: "+ i);
}
out.close();
in.close();
client.close();
s.close();
}
}
So ich wollte einfach ein paar Zeilen Text hin und her schicken. Das funktioniert auch halb.
Als Asugabe erhalte ich dann in der Konsole folgendes:
Code:
anonymous@anonymous:~/JavaProject/Client$ java MClient
Connection established. Hello Socket. Line nr: 1
Connection established. Hello Socket. Line nr: 3
Connection established. Hello Socket. Line nr: 5
Connection established. Hello Socket. Line nr: 7
Connection established. Hello Socket. Line nr: 9
Connection established. Hello Socket. Line nr: 11
Connection established. Hello Socket. Line nr: 13
Connection established. Hello Socket. Line nr: 15
Connection established. Hello Socket. Line nr: 17
Connection established. Hello Socket. Line nr: 19
Ich stehe etwas auf dem Schlauch. Ich sehe den Fehler nicht warum nur die hälfte der Nachrichten die ich übertragen will beim Socket ankommen. Hat jemand eine Idee?
LG
Ogofo