Hallo Leute,
ich habe folgenden "Server"-Code:
Der Client-Code ist folgender:
Wenn ich den Server einschalte und dann die Client starte und dort eine Eingabe mache kommt die erste Eingabe garnichts an. Erst bei der zweiten und dann kommt auch ein Fehler.
Kann mir jemand helfen?
Danke im Voraus!
ich habe folgenden "Server"-Code:
Code:
import java.net.*;
import java.io.*;
import java.util.*;
public class ChatServer extends Thread {
protected Socket socket = null;
public static int port;
public static void main(String args[]) {
port = 4711;
// Socket bereitstellen, an dem "gelauscht" wird
try {
ServerSocket listen = new ServerSocket(port);
while(true) {
ChatServer aClient = new ChatServer(listen.accept());
}
} catch (IOException ioe) {
System.err.println("Fehler: "+ioe.toString());
}
}
public ChatServer(Socket socket) {
this.socket = socket;
start();
}
public void run() {
try {
InputStreamReader isr = new InputStreamReader(socket.getInputStream());
BufferedReader in = new BufferedReader(isr);
while (true)
{
if (in.readLine() != "") System.out.println(in.readLine());
//DataOutputStream os = new DataOutputStream(socket.getOutputStream());
//MessageVerteilen(os);
//socket.close(); // das ist neu
}
} catch (IOException e) {
System.err.println("Fehler: "+e.toString());
}
}
public void MessageVerteilen(DataOutputStream out) throws IOException {
out.writeBytes("Alles OK");
out.flush();
}
} // Ende der Klasse
Der Client-Code ist folgender:
Code:
import java.net.*;
import java.io.*;
class ChatClient
{
public static void main( String[] args ) throws Exception
{
Console eingabeTastatur = System.console();
Socket server = new Socket( "localhost", 4711 );
InputStreamReader in = new InputStreamReader(server.getInputStream());
BufferedReader datenstromEinlesen = new BufferedReader(in);
OutputStreamWriter out = new OutputStreamWriter(server.getOutputStream());
PrintWriter pw = new PrintWriter(out, true);
System.out.print("Geben Sie die erste Zahl ein:");
String zahl1 = eingabeTastatur.readLine();
pw.println(zahl1);
System.out.print("Geben Sie die zweite Zahl ein:");
String zahl2 = eingabeTastatur.readLine();
pw.println(zahl2);
}
}
Wenn ich den Server einschalte und dann die Client starte und dort eine Eingabe mache kommt die erste Eingabe garnichts an. Erst bei der zweiten und dann kommt auch ein Fehler.
12
Fehler: java.net.SocketException: Connection reset
Kann mir jemand helfen?
Danke im Voraus!