﻿<?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>C++博客-persistence-随笔分类-Network</title><link>http://www.cppblog.com/liangbo/category/1188.html</link><description>Software Architecture</description><language>zh-cn</language><lastBuildDate>Tue, 20 May 2008 00:59:00 GMT</lastBuildDate><pubDate>Tue, 20 May 2008 00:59:00 GMT</pubDate><ttl>60</ttl><item><title>WebSite不能发布在含有中文的目录下？</title><link>http://www.cppblog.com/liangbo/archive/2007/04/04/21247.html</link><dc:creator>bo</dc:creator><author>bo</author><pubDate>Wed, 04 Apr 2007 08:49:00 GMT</pubDate><guid>http://www.cppblog.com/liangbo/archive/2007/04/04/21247.html</guid><wfw:comment>http://www.cppblog.com/liangbo/comments/21247.html</wfw:comment><comments>http://www.cppblog.com/liangbo/archive/2007/04/04/21247.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liangbo/comments/commentRss/21247.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liangbo/services/trackbacks/21247.html</trackback:ping><description><![CDATA[<p>今天把网站发布在含中文的路径下，结果访问的时候出现了问题，浏览的时候会出现错误提示：您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的&#8220;刷新&#8221;按钮重试您的请求。 管理员注意事项: 详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。 <br>后来改到英文目录下就可以了。<br>难道WebSite不能发布在中文目录下？</p>
<p>&nbsp;</p>
<img src ="http://www.cppblog.com/liangbo/aggbug/21247.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liangbo/" target="_blank">bo</a> 2007-04-04 16:49 <a href="http://www.cppblog.com/liangbo/archive/2007/04/04/21247.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>大家看一下这个问题</title><link>http://www.cppblog.com/liangbo/archive/2006/06/10/8393.html</link><dc:creator>bo</dc:creator><author>bo</author><pubDate>Sat, 10 Jun 2006 12:17:00 GMT</pubDate><guid>http://www.cppblog.com/liangbo/archive/2006/06/10/8393.html</guid><wfw:comment>http://www.cppblog.com/liangbo/comments/8393.html</wfw:comment><comments>http://www.cppblog.com/liangbo/archive/2006/06/10/8393.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/liangbo/comments/commentRss/8393.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liangbo/services/trackbacks/8393.html</trackback:ping><description><![CDATA[
		<p>今天在看一本书附的源代码的时候，发现了一个问题，大家来探讨一下：关于Winsock的<br />下面是两个程序，一个是服务器端的程序，不断在监客户端的连接<br />另外一个是客户端的程序，试图连接服务器端<br />服务器端的程序代码：<br />int main()<br />{<br /> // 创建套节字<br /> SOCKET sListen = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);<br /> if(sListen == INVALID_SOCKET)<br /> {<br />  printf("Failed socket() \n");<br />  return 0;<br /> }<br /> <br /> // 填充sockaddr_in结构<br /> sockaddr_in sin;<br /> sin.sin_family = AF_INET;<br /> sin.sin_port = htons(4567);<br /> sin.sin_addr.S_un.S_addr = INADDR_ANY;<br /> <br /> // 绑定这个套节字到一个本地地址<br /> if(::bind(sListen, (LPSOCKADDR)&amp;sin, sizeof(sin)) == SOCKET_ERROR)<br /> {<br />  printf("Failed bind() \n");<br />  return 0;<br /> }<br /> <br /> // 进入监听模式<br /> if(::listen(sListen, 2) == SOCKET_ERROR)<br /> {<br />  printf("Failed listen() \n");<br />  return 0;<br /> }<br /> <br /> // 循环接受客户的连接请求<br /> sockaddr_in remoteAddr; <br /> int nAddrLen = sizeof(remoteAddr);<br /> SOCKET sClient;<br /> char szText[] = " TCP Server Demo! \r\n";<br /> while(TRUE)<br /> {<br />  // 接受一个新连接<br />  sClient = ::accept(sListen, (SOCKADDR*)&amp;remoteAddr, &amp;nAddrLen);<br />  if(sClient == INVALID_SOCKET)<br />  {<br />   printf("Failed accept()");<br />   continue;<br />  }<br />  <br />  printf(" 接受到一个连接：%s \r\n", inet_ntoa(remoteAddr.sin_addr));</p>
		<p>  // 向客户端发送数据<br />  ::send(sClient, szText, strlen(szText), 0);<br />  // 关闭同客户端的连接<br />  ::closesocket(sClient);<br /> }<br />  <br /> // 关闭监听套节字<br /> ::closesocket(sListen);<br /> ::MessageBox(NULL,"","",MB_OK);<br /> return 0;<br />}<br />大家请注意上面的while循环，在不断监听客户端的连接。除非你手动关闭该服务器程序，否则while循环是不会退出的。那么，问题是：关闭套接字的那段代码始终不会执行（我用MessageBox做了试验，即使是手动关闭该程序，也不会MessageBox），这样，是不是会发生资源泄露呢？难道windows会帮你关闭？</p>
<img src ="http://www.cppblog.com/liangbo/aggbug/8393.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liangbo/" target="_blank">bo</a> 2006-06-10 20:17 <a href="http://www.cppblog.com/liangbo/archive/2006/06/10/8393.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>