아래 코드에 문제점이 있습니다. in/out의 변수를 어떻게 초기화 할 수 있는지는 명확하지 않습니다.스트림 초기화/초기화에 대한 java 초기화 변수
이 개체를 만드는 동안 생성자에서 프로그램이 중단됩니다. this.inObjects = new ObjectIn.........
줄에 매달려 있습니다. 입력/출력, 문자열 및 객체를 메서드에서 호출하고 읽기 쓰기 등을 적용하여 해당 입/출력 객체를 한 번만 읽고 쓰고 싶습니다.
어디서 잘못 되었습니까? 데이터를 수신하지 않음으로써 데이터가 중단 될 수 있습니까? 그들은 안된다, 그렇지? 그렇지 않으면 항상 블록을
this.outObjects = new ObjectOutputStream(this.clientSocket.getOutputStream());
this.inObjects = new ObjectInputStream(this.clientSocket.getInputStream());
일부 헤더 OIS 대기의 생성자가 먼저 보내야합니다 :
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)
{
}
}
! (현장 자동 할당을 위해 유감스럽게 생각합니다.) 나는 이것을 tomorrrow해볼 것입니다! – Mikeel