Guten Morgen.
Ich öffnen einen ServerSocket und warte auf eingehende Verbindung. Ein andere Datei beinhaltet den Code zum connecten. Geht die Verbindung beim Server ein, verschickt dieser "success". Der Socket ließt das ein und überprüft, dass das Gesendete auch wirklich "success" war. Daraufhin wird ein Fenster beim Socket geöffnet. Nun möchte ich aber, dass der Socket auch dem Server Daten schickt, die der Server auch benötigt. Sobald ich das zu Implementieren versuche, wird scheinbar nicht mal mehr "success" geschickt oder es wird nicht mehr eingelesen. Aber ist readLine() nicht blockierend?
Das "success" wird vom Server aus versendet, aber beim Socket wird "new obenlobby(0);" nicht geöffnet. Was mache ich falsch? Ich hoffe, ihr könnt mir helfen. Danke im voraus.
Mit freundlichen Grüßen
Morgyr
Ich öffnen einen ServerSocket und warte auf eingehende Verbindung. Ein andere Datei beinhaltet den Code zum connecten. Geht die Verbindung beim Server ein, verschickt dieser "success". Der Socket ließt das ein und überprüft, dass das Gesendete auch wirklich "success" war. Daraufhin wird ein Fenster beim Socket geöffnet. Nun möchte ich aber, dass der Socket auch dem Server Daten schickt, die der Server auch benötigt. Sobald ich das zu Implementieren versuche, wird scheinbar nicht mal mehr "success" geschickt oder es wird nicht mehr eingelesen. Aber ist readLine() nicht blockierend?
Code:
Server:
try{
ServerSocket serverSocket = new ServerSocket(2500);
while(true){
Socket socket = serverSocket.accept();
PrintWriter out = new PrintWriter(socket.getOutputStream());
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out.println("success");
out.close();
System.out.println(bufferedReader.readLine());
}
}
catch(Exception e){
}
Code:
Socket:
try{
Socket socket = new Socket(mainclass.tfip.getText(), 2500);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
OutputStream out = socket.getOutputStream();
PrintWriter printWriter = new PrintWriter(out, true);
if(bufferedReader.readLine().equals("success")){
new openlobby(0);
printWriter.println("opened");
}
}
catch(IOException e){
}
Das "success" wird vom Server aus versendet, aber beim Socket wird "new obenlobby(0);" nicht geöffnet. Was mache ich falsch? Ich hoffe, ihr könnt mir helfen. Danke im voraus.
Mit freundlichen Grüßen
Morgyr