Ich habe einen Socketserver und der antwortet mir nicht.
Auf ClientSeite sieht es so aus:
Auf Server Seite sieht es so aus:
Ich glaube das Problem liegt in der while Bedingung (am Anfang war das in.readObject() direkt statt them recived).
Auf ClientSeite sieht es so aus:
Java:
Request req=makeNewRequest();
out.writeObject(request); //out ist ObjectOutputStream, Request ist meine eigene Serialsible Klasse und wird richtig inzialisiert
response=in.readUTF();
System.out.println("Response from Server: "+response+".");
Auf Server Seite sieht es so aus:
Java:
try (
ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
ObjectInputStream in = new ObjectInputStream(socket.getInputStream());
) {
Object recived=in.readObject();
String response;
while(!recived.toString().equalsIgnoreCase("bye")){
Request req=(Request) recived;
try{
response=responder.getResponse(req);
// System.out.println("Response!"); wird nicht ausgeführt
out.writeObject(response);
}catch (IllegalArgumentException ill){ //kann von getResponse geschmissen werden
System.out.println("Error response!");
out.writeObject(ill.getMessage());
}
}
Zuletzt bearbeitet: