Не удается создать экземпляр ObjectInputStream
Я пытаюсь создать экземпляр ObjectInputStream в клиенте в строке 24, но это не так, я могу создать экземпляр ObjectOutputStream, но не Input.
private class ClientThread implements Runnable{
Socket s;
ObjectInputStream inObject;
ObjectOutputStream outObject;
ServerSocket ss;
Integer portNo;
ClientThread(int portNo){
try{
this.portNo = portNo;
ss = new ServerSocket(portNo);
}
catch(IOException e){
System.out.println("CT : "+e.getMessage());
}
}
public void run(){
boolean hasOpponent = false;
try{
while(!hasOpponent){
s = ss.accept();
if(s != null){
inObject = new ObjectInputStream(s.getInputStream()); // line 24
System.out.println("1");
hasOpponent = true;
game = new Game(name1, name2);
}
}
}
catch(Exception e){
System.out.println("D "+ e.getMessage());
}
1 ответ
Решение
Вы не сказали, что происходит, но я подозреваю, что это блокирует.
ObjectInputStream блокируется, пока не получит заголовок от ObjectOutputStream, который может потребовать flush()
с другого конца.