我试图在第24行的客户端中实例化一个ObjectInputStream,但它不会,我可以实例化一个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());
}
最佳答案
你还没有说发生了什么,但我怀疑它被阻止了。
ObjectInputStream 会阻塞,直到它从 ObjectOutputStream 获取 header ,这可能需要另一端的 flush()
。
关于java - 无法实例化 ObjectInputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20315492/