我正在开发一个大学生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