私はこの問題を抱えていますが、何が悪いのかわかりません。私はインターネット上で検索しましたが、成功しませんでした。
そのため、Java のソケットを介してオブジェクトを送信する必要がありますが、その方法がわかりません。私は非常に多くの方法を試しました。オブジェクトをシリアル化し、オブジェクトを直接書き込もうとしました。しかし、何も機能していないようです。
詳細は、チャットを並行して実行していることです。また、ObjectOutputStream または ObjectInputStream を開くと、デッドロックが発生することがあります。そして、私はあなたたちが私を助けることができると思います.
クライアントがサーバーに接続し、サーバーがオブジェクトであるランダムな単語をクライアントに送信するハングマン ゲームです。
サーバ:
try{
socketConexao = socketRecepcao.accept();
toClient = new DataOutputStream(socketConexao.getOutputStream());
fromClient = new BufferedReader(new InputStreamReader(socketConexao.getInputStream()));
//starts the chat
Thread chat = new Thread(this);
chat.start();
}catch(IOException e){}
//i dont really know how to send the object
try{
byte[] bytes = serialize(palavraSorteada);
toClient.write(bytes);
} catch (IOException e){
e.printStackTrace();
}
クライアント:
socketCliente = new Socket(ip, port);
toServer = new DataOutputStream(socketCliente.getOutputStream());
fromServer = new BufferedReader(new InputStreamReader(socketCliente.getInputStream()));
// starts the chat
Thread chat = new Thread(this);
chat.start();
}catch(IOException e){System.exit (0);}
// and dont really know how to receive the object
try{
ObjectInputStream os = new ObjectInputStream(socket.getInputStream());
palavraSorteada = (Palavra) os.readObject();
os.close();
}catch(Exception e){
e.printStackTrace();
}