2016-07-31 28 views
-3
inStream = new ObjectInputStream(this.socket.getInputStream()); 
Packet rank = (Packet)inStream.readObject(); 

Hallo, Ich sollte ein Array von zwei Clients erhalten. Ich kann nur von einem Client empfangen und prompt einen Fehler wie folgt aus: Vielen Dank im Vorausjava Socket ObjectInputStream

java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(SocketInputStream.java:209) 
    at java.net.SocketInputStream.read(SocketInputStream.java:141) 
    at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2338) 
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2351) 
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2822) 
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804) 
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:301) 
    at ServerGraph$Handler.run(ServerGraph.java:350) 
+0

Höchstwahrscheinlich wird die Sendeseite das Objekt schreiben, aber didn‘ t schließen() oder sogar bündig() die Verbindung. –

Antwort

1

ich eigentlich ein Array von zwei Clients empfangen. Ich kann nur von einem Client empfangen und prompt einen Fehler wie dieser

java.net.SocketException: Connection reset 

Ich glaube, du Missverständnis sein kann, wie Steckdosen arbeiten. Ein Socket ist eine Verbindung zwischen einem Client und einem Server. Sie scheinen zu sagen, dass Sie erwarten, Daten von 2 verschiedenen Clients auf einer einzigen Socket zu erhalten. Das ist nicht möglich. Es macht keinen Sinn. Sie benötigen einen separaten Socket für jeden Client, mit dem Ihr Server kommuniziert.

Was Sie sehen (die Verbindung zurückgesetzt) ​​ist erklärbar: der Peer (d. H. Das Client oder Client-Betriebssystem), hat die Verbindung aus irgendeinem Grund zurückgesetzt. Die Java (?) -Client-Anwendung hat möglicherweise close() oder shutdownOutput() aufgerufen oder wurde gerade beendet.

(Sie haben uns nicht genug Code gezeigt, den besten Weg vorzuschlagen, um Ihr Problem zu beheben. Sind die Steckdosen von den Clients oder dem Server geöffnet werden?)