以下のコードに問題があります。in/outの変数を初期化する方法が明確ではありません。
このオブジェクトの作成中に、コンストラクター内でプログラムがハングします。の行にぶら下がっていますthis.inObjects = new ObjectIn.........
。これらの入出力オブジェクトを一度だけ作成して、メソッドで呼び出したり、読み取り/書き込みなどを適用したりするだけで、入出力、文字列、オブジェクトの読み取りと書き込みを行いたいと思います。
どこが間違っているのですか?データを受信しないことでハングする可能性はありますか?彼らはすべきではありませんよね?
public class PokerClient
{
private PokerClientGui gui;
private Socket clientSocket;
private DataInputStream in;
private DataOutputStream output;
private ObjectInputStream inObjects;
private ObjectOutputStream outObjects;
private Hand hand;
//constructor
public PokerClient()
{
try
{
this.gui= gui;
this.clientSocket = new Socket("localhost", 4444);
this.in = new DataInputStream(this.clientSocket.getInputStream());
this.inObjects = new ObjectInputStream(this.clientSocket.getInputStream());
this.output = new DataOutputStream(this.clientSocket.getOutputStream());
this.outObjects = new ObjectOutputStream(this.clientSocket.getOutputStream());
}
catch (Exception e)
{
}
}