﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-SSnake</title><link>http://www.blogjava.net/SSnake/</link><description /><language>zh-cn</language><lastBuildDate>Sat, 20 Jun 2026 09:07:13 GMT</lastBuildDate><pubDate>Sat, 20 Jun 2026 09:07:13 GMT</pubDate><ttl>60</ttl><item><title>1_5_0_04版的JDK的一个bug</title><link>http://www.blogjava.net/SSnake/articles/161568.html</link><dc:creator>SSnake</dc:creator><author>SSnake</author><pubDate>Mon, 19 Nov 2007 04:34:00 GMT</pubDate><guid>http://www.blogjava.net/SSnake/articles/161568.html</guid><wfw:comment>http://www.blogjava.net/SSnake/comments/161568.html</wfw:comment><comments>http://www.blogjava.net/SSnake/articles/161568.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/SSnake/comments/commentRss/161568.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/SSnake/services/trackbacks/161568.html</trackback:ping><description><![CDATA[<p>由于项目需要，最近用Java写了一个服务端程序，使用了nio方式。 <br />
</p>
<p>结果发现了一个问题。<br />
客户端连接到我写的服务端并且跟服务端通信完毕之后，在客户端没有主动断开连接的情况下，为了在服务端断开TCP连接，我调用了 <br />
SocketChannel类的close方法，但是通过netstat，我发现TCP连接仍然存在，且状态仍然是ESTABLISHED。 <br />
</p>
<p>于是我又尝试在调用SocketChannel类的close方法之前先调用SocketChannel.socket().close(), 但是在 <br />
调用两个close方法之后，我发现TCP连接仍然存在且状态仍然是ESTABLISHED。 <br />
</p>
<p>接着我又尝试在调用两个close方法之后，再调用SocketChannel的wirte或read方法，结果只是得到一个异常，TCP连接仍然存在 <br />
且状态仍然是ESTABLISHED。 <br />
<br />
</p>
<p>我又尝试在客户端也调用两个close方法，结果在服务端与客户端的close方法都被调用之后，TCP连接仍然存在且状态仍然是 <br />
ESTABLISHED。 <br />
</p>
<p>我试了很久，发现除非退出客户端程序，否则TCP连接会一直存在。 <br />
<br />
程序怎么查都查不出错误，google了很久也找不到答案。<br />
<br />
最后上sun的论坛发帖求助，经人指点，这才知道，原来是1_5_0_04版的JDK有bug，使用SocketChannel的话关闭连接会出现问题。<br />
<br />
换新版本的JDK之后问题解决。<br />
<br />
bug的说明见下面的连接</p>
<p>http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6347873</p>
<p><br />
&nbsp;</p>
<p>&nbsp;</p>
  <img src ="http://www.blogjava.net/SSnake/aggbug/161568.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/SSnake/" target="_blank">SSnake</a> 2007-11-19 12:34 <a href="http://www.blogjava.net/SSnake/articles/161568.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>