<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[diaohaoli7657的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/diaohaoli7657</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; diaohaoli7657]]></copyright><item><title><![CDATA[C++11中值得关注的几大变化]]></title><link>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275504</link><guid>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275504</guid><author>diaohaoli7657</author><pubDate>Wed, 06 Jun 2012 12:02:00 +0800</pubDate><description><![CDATA[声明：本文源自 Danny Kalev 在 2011 年 6 月 21 日发表的《The Biggest Changes in C++11(and Why You Should Care)》一文，几乎所有内容都搬了过来，但不是全文照译，有困惑之处，请参详原文（http://www.softwarequalityconnection.com/2011/06/the-biggest-chan...]]></description><category></category></item><item><title><![CDATA[模板成员函数为什么不能是虚函数]]></title><link>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275505</link><guid>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275505</guid><author>diaohaoli7657</author><pubDate>Mon, 07 May 2012 13:45:00 +0800</pubDate><description><![CDATA[《Thinking in C++》volume 2第五章有这么一句话：Member template functions cannot be declared virtual.Current compiler technology experts to be able to determine the size of a class’s virtual function table w...]]></description><category></category></item><item><title><![CDATA[tcmalloc]]></title><link>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275506</link><guid>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275506</guid><author>diaohaoli7657</author><pubDate>Fri, 20 Apr 2012 17:11:00 +0800</pubDate><description><![CDATA[|字号订阅





Google的一个开源项目google-perftools-2.0 ，网址：http://code.google.com/p/gperftools/
网上全是拿去优化网络产品的介绍，没找到怎么用在自己的c++项目中。于是自己研究了下，发现挺好玩的。
下载最新的源代码后解压，发现里面有makefile和vc2003的工程文件。手头有...]]></description><category></category></item><item><title><![CDATA[获取当前经纬度方法(ISO)]]></title><link>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275503</link><guid>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275503</guid><author>diaohaoli7657</author><pubDate>Thu, 19 Apr 2012 17:11:00 +0800</pubDate><description><![CDATA[首先头文件应继承CLLocationManagerDelegate.
并:#import &lt;CoreLocation/CoreLocation.h&gt;响应事件中写如下代码:CLLocationManager *_locManager = [[CLLocationManager alloc] init];[_locManager setDelegate:self];[_lo...]]></description><category></category></item><item><title><![CDATA[TCP不适用于实时传输的原因]]></title><link>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275502</link><guid>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275502</guid><author>diaohaoli7657</author><pubDate>Wed, 18 Apr 2012 17:42:00 +0800</pubDate><description><![CDATA[对于实时传输（在这里实时传输主要指交互式视音频，例如视频会议，IM视音频对话等等）来说，数据量有以下两个特点：
1．数据是即时产生的，并即时发送，如果数据不能在一个给定的期限内发送完毕，则这部分数据将被丢弃。
2．一般来说，单位时间内传输的数据流量比较平滑。
TCP依赖滑动窗口进行流量控制，滑动窗口大小是自适应的，影响滑动窗口主要有两个因素，一是网络延时，二是传输速...]]></description><category></category></item><item><title><![CDATA[谈谈IOCP发送数据时的一些误区及技巧]]></title><link>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275501</link><guid>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275501</guid><author>diaohaoli7657</author><pubDate>Wed, 18 Apr 2012 17:36:00 +0800</pubDate><description><![CDATA[误区一，使用send函数发送数据
一些人使用阻塞的send函数发送数据，这是绝对应该避免的，一旦某一个连接传输发生拥塞，或者突然中断而没有通知，调用send函数的线程将可能被阻塞很长一段时间（可能10秒或更长），尤其是当服务器同时处理成千上万个连接时，这种情况可能会频繁出现。
使用非阻塞的send也不适合，数据不一定每次都能完全发送出去，你得使用selec...]]></description><category></category></item><item><title><![CDATA[编写大容量和健壮的服务器系列—处理IOCP连接关闭]]></title><link>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275500</link><guid>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275500</guid><author>diaohaoli7657</author><pubDate>Wed, 18 Apr 2012 17:33:00 +0800</pubDate><description><![CDATA[及时监测连接被动关闭
除非有特别要求，否则你应该总是对每个连接保持一个挂起的接收pending io
（使用WSARecv投递）。如果用户主动关闭连接，你的GetQueuedCompletionStatus调用将返回成功，但接收到的数据长度为0，你能根据这点检测连接是否已被对方关闭。如果连接被重置或者io被取消（如果你调用了CancelIo的话），GetQueuedCo...]]></description><category></category></item><item><title><![CDATA[对使用AcceptEx建立的连接调用shutdown返回失败的解决]]></title><link>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275498</link><guid>https://blog.youkuaiyun.com/diaohaoli7657/article/details/102275498</guid><author>diaohaoli7657</author><pubDate>Wed, 18 Apr 2012 17:33:00 +0800</pubDate><description><![CDATA[对每个使用AcceptEx接受的连接套结字使用setsockopt设置SO_UPDATE_ACCEPT_CONTEXT选项，这个选项原义是把listen套结字一些属性（包括socket内部接受/发送缓存大小等等）拷贝到新建立的套结字，却可以使后续的shutdown调用成功。

/* SO_UPDATE_ACCEPT_CONTEXT is required for shutdown(...]]></description><category></category></item></channel></rss>