您的位置:首页 > 理论基础 > 计算机网络

写基于TCP/IP多线程的是抛出Socket连接异常

2015-04-15 18:12 330 查看
1、问题

public void run()

{

try {

while(isStart)

{

synchronized(this)

{

wait();

}

if(object!=null)

{

System.out.println(object.getType());

oos.writeObject(object);

oos.flush();

}

if(oos!=null)

oos.close();

//if(socket!=null)

//socket.close();

}

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

publci void run(){}方法中的写消息出现错误,抛出的错误是Socket closed。检查发现并没有关闭Socket连接,不知为何?

java.net.SocketException: Socket closed

at java.net.SocketOutputStream.socketWrite(Unknown Source)

at java.net.SocketOutputStream.write(Unknown Source)

at java.io.ObjectOutputStream$BlockDataOutputStream.drain(Unknown Source)

at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(Unknown Source)

at java.io.ObjectOutputStream.writeNonProxyDesc(Unknown Source)

at java.io.ObjectOutputStream.writeClassDesc(Unknown Source)LOGIN

at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)

at java.io.ObjectOutputStream.writeObject0(Unknown Source)

at java.io.ObjectOutputStream.writeFatalException(Unknown Source)

at java.io.ObjectOutputStream.writeObject(Unknown Source)

at OutputThread.run(OutputThread.java:52)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: