我正在開發一個大學生hang子手遊戲。它需要通過套接字,服務器和客戶端。現在遊戲運行良好。Java接收對象套接字
但是當它由兩個人玩,試圖猜測同一個單詞時,我需要知道一個用戶選擇哪個字母,所以我可以在其他用戶GUI上禁用該字母。
所以,我試圖發送一個ID的對象,將禁用另一邊的按鈕,我先sendind消息,警告我會發送一個對象,所以我沒有得到一個例外。
Bur只讀了我發送的前兩個對象,第三個對象我得到一個異常,稱爲java.io.StreamCorruptedException。有人知道爲什麼
Sending:
toClient= new DataOutputStream(socketConection.getOutputStream());
toClient.writeBytes("VK_Letra\n");
objectToClient= new ObjectOutputStream(socketConetion.getOutputStream());
objectToClient.writeObject(new Letter());
objectToClient.flush();
Receiving:
fromServer = new BufferedReader(new InputStreamReader(socketCliente.getInputStream()));
objectFromServer = new ObjectInputStream(socketCliente.getInputStream());
public void run(){
String str;
try{
while(true){
str = fromServer.readLine();
if(str.equals("VK_Letter")){
Letter l = (Letter) objectFromServer.readObject();
System.out.println(l.getLetter());
button[l.getId()].setEnabled(false);
}else{
chat.append(str+ "\n");
chat.setCaretPosition(chat.getDocument().getLength());
}
}
}catch(IOException | ClassNotFoundException e){
JOptionPane.showMessageDialog(/* Error Message */);
}
}
請發表您的異常! –
提示:嘗試僅使用一種語言爲您的方法和對象命名,優先使用英語。 paraCliente =葡萄牙語; fromServer = English; –
java.io.StreamCorruptedException – bfagundes