+ -
当前位置:首页 → 问答吧 → socket连接时,服务器端先关闭输入输出流再关闭socket,客户端重新连接时为什么会抛出异常

socket连接时,服务器端先关闭输入输出流再关闭socket,客户端重新连接时为什么会抛出异常

时间:2011-11-30

来源:互联网

//###### 为什么先关闭in,out后关闭socket客户端第二次连接时,客户端会出异常########

if (null != socket)
{
socket.close();
}
if (null != in)
{
// 关闭BufferedInputStream
in.close();
}
if (null != out)
{
// 关闭OutputStream
out.close();
}

作者: LazyUncle   发布时间: 2011-11-30

可能out的数据需要in的数据做支撑

作者: gigglesun   发布时间: 2011-11-30

引用 1 楼 gigglesun 的回复:

可能out的数据需要in的数据做支撑

貌似接近些什么了,我把socket那段放到后面,把out注释掉,不抛异常。但是,只注释in就抛异常。

作者: LazyUncle   发布时间: 2011-11-30

引用 2 楼 lazyuncle 的回复:

引用 1 楼 gigglesun 的回复:

可能out的数据需要in的数据做支撑

貌似接近些什么了,我把socket那段放到后面,把out注释掉,不抛异常。但是,只注释in就抛异常。

又行不通了。还是都出异常。

作者: LazyUncle   发布时间: 2011-11-30

引用 3 楼 lazyuncle 的回复:

引用 2 楼 lazyuncle 的回复:

引用 1 楼 gigglesun 的回复:

可能out的数据需要in的数据做支撑

貌似接近些什么了,我把socket那段放到后面,把out注释掉,不抛异常。但是,只注释in就抛异常。

又行不通了。还是都出异常。

与out类型有关!
我把out换成BufferedOutputStream就不会抛异常。用OutputStream就会抛异常。

作者: LazyUncle   发布时间: 2011-11-30