<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: A Word on TIME_WAIT and CLOSE_WAIT</title>
	<atom:link href="http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/</link>
	<description></description>
	<pubDate>Thu, 09 Sep 2010 03:22:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: anonymous</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-1794</link>
		<dc:creator>anonymous</dc:creator>
		<pubDate>Tue, 04 May 2010 07:29:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-1794</guid>
		<description>a SYN segment   ==&gt;  an SYN segment ???</description>
		<content:encoded><![CDATA[<p>a SYN segment   ==&gt;  an SYN segment ???</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sealinger</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-1787</link>
		<dc:creator>sealinger</dc:creator>
		<pubDate>Sun, 14 Feb 2010 08:59:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-1787</guid>
		<description>学习了，thanks</description>
		<content:encoded><![CDATA[<p>学习了，thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fy</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-1783</link>
		<dc:creator>fy</dc:creator>
		<pubDate>Sat, 02 Jan 2010 14:20:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-1783</guid>
		<description>graphviz, dotty - I found:)</description>
		<content:encoded><![CDATA[<p>graphviz, dotty - I found:)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fy</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-1782</link>
		<dc:creator>fy</dc:creator>
		<pubDate>Sat, 02 Jan 2010 14:02:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-1782</guid>
		<description>请教下这2个 .dot 干嘛用呢？
我在lighttpd的源码里面也发现类似的文件？
fastcgi-state.dot  state.dot
???</description>
		<content:encoded><![CDATA[<p>请教下这2个 .dot 干嘛用呢？<br />
我在lighttpd的源码里面也发现类似的文件？<br />
fastcgi-state.dot  state.dot<br />
???</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-1776</link>
		<dc:creator>Joshua</dc:creator>
		<pubDate>Fri, 11 Dec 2009 10:46:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-1776</guid>
		<description>@lzy
我没有重现你说的问题。BTW，可加我gtalk详细讨论一下。</description>
		<content:encoded><![CDATA[<p>@lzy<br />
我没有重现你说的问题。BTW，可加我gtalk详细讨论一下。</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lzy</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-1775</link>
		<dc:creator>lzy</dc:creator>
		<pubDate>Thu, 10 Dec 2009 11:14:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-1775</guid>
		<description>请教个问题，我在客户端程序里为socket fd设置了SO_LINGER选项，启用了linger。下面是客户端开始部分代码：

int sockfd = 0;
struct sockaddr_in addr;

struct linger lingopt;

/* some code here */

if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
err_sys("create socket error");

lingopt.l_onoff = 1;
lingopt.l_linger = 0;

if (setsockopt(sockfd, SOL_SOCKET, SO_LINGER, &amp;lingopt, sizeof(lingopt)) != 0)
err_ret("set linger option error");

/* connect server */
if (connect(sockfd, (struct sockaddr*) &amp;addr, sizeof(addr)) == -1)
err_sys("connect error");

/* other code here */


可见上面我打开了linger，并确认option被成功应用。这个客户端程序会在SIGQUIT后退出（ctrl+d）。程序退出后发现，尽管我已经成功的配置了linger选项l_onoff=1&amp;l_linger=0，可是为什么当客户端程序退出后，通过netstat仍然可见TIME_WAIT状态的客户端socket？而不是客户端直接发RST并释放socket？还是os有配置的方法？我是Linux 2.6.31-15-generic #50-Ubuntu。

很简单的问题，之前一直想当然，今天无意中看到现象，还请赐教，多谢！

另外我设置linger不是为了避免主动关闭端的TIME_WAIT状态，它的2个作用是很必要的。之所以今天配置了SO_LINGER选项是为了验证特定问题，对于l_onoff=1&amp;l_linger=0设置下FIN发起端还出现TIME_WAIT现象与之前的理解违背，（当然与unp所说的情况也不一致）。</description>
		<content:encoded><![CDATA[<p>请教个问题，我在客户端程序里为socket fd设置了SO_LINGER选项，启用了linger。下面是客户端开始部分代码：</p>
<p>int sockfd = 0;<br />
struct sockaddr_in addr;</p>
<p>struct linger lingopt;</p>
<p>/* some code here */</p>
<p>if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)<br />
err_sys(&#8221;create socket error&#8221;);</p>
<p>lingopt.l_onoff = 1;<br />
lingopt.l_linger = 0;</p>
<p>if (setsockopt(sockfd, SOL_SOCKET, SO_LINGER, &amp;lingopt, sizeof(lingopt)) != 0)<br />
err_ret(&#8221;set linger option error&#8221;);</p>
<p>/* connect server */<br />
if (connect(sockfd, (struct sockaddr*) &amp;addr, sizeof(addr)) == -1)<br />
err_sys(&#8221;connect error&#8221;);</p>
<p>/* other code here */</p>
<p>可见上面我打开了linger，并确认option被成功应用。这个客户端程序会在SIGQUIT后退出（ctrl+d）。程序退出后发现，尽管我已经成功的配置了linger选项l_onoff=1&amp;l_linger=0，可是为什么当客户端程序退出后，通过netstat仍然可见TIME_WAIT状态的客户端socket？而不是客户端直接发RST并释放socket？还是os有配置的方法？我是Linux 2.6.31-15-generic #50-Ubuntu。</p>
<p>很简单的问题，之前一直想当然，今天无意中看到现象，还请赐教，多谢！</p>
<p>另外我设置linger不是为了避免主动关闭端的TIME_WAIT状态，它的2个作用是很必要的。之所以今天配置了SO_LINGER选项是为了验证特定问题，对于l_onoff=1&amp;l_linger=0设置下FIN发起端还出现TIME_WAIT现象与之前的理解违背，（当然与unp所说的情况也不一致）。</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arrix</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-1773</link>
		<dc:creator>Arrix</dc:creator>
		<pubDate>Sun, 25 Oct 2009 03:41:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-1773</guid>
		<description>Nice graphs and clear explanation! The meaning of CLOSE_WAIT and TIME_WAIT and the difference between them is also frequently asked in job interviews.</description>
		<content:encoded><![CDATA[<p>Nice graphs and clear explanation! The meaning of CLOSE_WAIT and TIME_WAIT and the difference between them is also frequently asked in job interviews.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TIME_WAIT vs CLOSE_WAIT &#171; Praveen&#39;s Blog</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-1581</link>
		<dc:creator>TIME_WAIT vs CLOSE_WAIT &#171; Praveen&#39;s Blog</dc:creator>
		<pubDate>Sat, 01 Aug 2009 09:52:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-1581</guid>
		<description>[...] TIME_WAIT vs&#160;CLOSE_WAIT By praveenmyls  Cool link CLOSE_WAIT vs TIMEWAIT [...]</description>
		<content:encoded><![CDATA[<p>[...] TIME_WAIT vs&nbsp;CLOSE_WAIT By praveenmyls  Cool link CLOSE_WAIT vs TIMEWAIT [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-478</link>
		<dc:creator>Joshua</dc:creator>
		<pubDate>Thu, 26 Mar 2009 10:43:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-478</guid>
		<description>Hi Chris, thank you very much for your sweet encouragement :)</description>
		<content:encoded><![CDATA[<p>Hi Chris, thank you very much for your sweet encouragement <img src='http://blog.zhuzhaoyuan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://blog.zhuzhaoyuan.com/2009/03/a-word-on-time_wait-and-close_wait/comment-page-1/#comment-435</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Wed, 25 Mar 2009 00:58:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.zhuzhaoyuan.com/?p=93#comment-435</guid>
		<description>Hey joshua, i just read your post, its really good! Ignore the rude comments, you've been very helpful to me.</description>
		<content:encoded><![CDATA[<p>Hey joshua, i just read your post, its really good! Ignore the rude comments, you&#8217;ve been very helpful to me.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
