为什么socket的outputstream关闭后socket的状态也是关闭的呢?

duanjianbo26 2010-01-20 04:51:37

while(true)
{
OutputStream ostr=socket.getOutputStream();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// System.out.println("hello"+new Date());
ostr.write(("hello"+new Date()).getBytes());
ostr.flush();
ostr.close();
}


我调试发现ostr.close()之后,socket处于关闭状态!为什么?
...全文
517 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
duanjianbo26 2010-01-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lcymsn 的回复:]
OutputStream ostr=socket.getOutputStream();
声明之后
ostr.close();
直接关闭了来自socket的输出流

如果不想关闭socket  换个方法实例化

比如:
ServerSocket s = new ServerSocket(9527);
Socket s1 = s.accept();


[/Quote]

大哥你测试了没哦?
No-zero 2010-01-21
  • 打赏
  • 举报
回复
OutputStream ostr=socket.getOutputStream();
声明之后
ostr.close();
直接关闭了来自socket的输出流

如果不想关闭socket 换个方法实例化

比如:
ServerSocket s = new ServerSocket(9527);
Socket s1 = s.accept();

duanjianbo26 2010-01-20
  • 打赏
  • 举报
回复
关闭返回的 OutputStream 将关闭关联套接字。

JDK文档是这样说..

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧