写基于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)
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)
相关文章推荐
- Java 基于Tcp/ip连接的多人交互聊天室(Socket编程)
- socket连接---多线程 线程池---TCP/IP半包、粘包、分包
- mysql 两种连接方式:socket和TCP/IP
- boost::asio::ip::tcp::socket is connected?(如何知道socket已经连接?)
- tcpip,socket ,tcp/ip 三次握手,四次断开连接握手 图解
- 基于TCP(面向连接)的socket编程例子
- TCP/IP,http,socket,长连接,短连接——小结
- linux网络编程(socket)之面向连接(TCP/IP)
- 基于TCP/IP和UDP协议的socket编程结构解析
- 【Java TCP/IP Socket】基于NIO的TCP通信(含代码)
- Java TCP/IP Socket,基于NIO的TCP通信
- 索引-基于TCP_IP和Socket的网络文件传送
- 基于socket的Tcp多进程多线程服务器
- [转] 基于事件的异步Socket(TCP连接方式)
- TCP/IP,http,socket,长连接,短连接——小结。
- Linux Linux函数 Linux聊天程序 基于socket的TCP(有连接的)聊天程序
- ios实现基于socket tcp/ip 的通讯
- TCP/IP,http,socket,长连接,短连接
- TCP/IP,HTTP,socket,长连接和短连接
- TCP/IP,http,socket,长连接,短连接