<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dxfans的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dxfans</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dxfans]]></copyright><item><title><![CDATA[设计模式之Bridge模式(中文:桥梁模式)]]></title><link>https://blog.youkuaiyun.com/dxfans/article/details/6425833</link><guid>https://blog.youkuaiyun.com/dxfans/article/details/6425833</guid><author>dxfans</author><pubDate>Tue, 17 May 2011 00:53:00 +0800</pubDate><description><![CDATA[1.概念解释Bridge模式用于将抽象与实现解耦,两者可以独立的变化;对上层调用者而言使用的为一样的接口而实现不同的功能。 2.类图表示Abstraction:抽象类,它的实现方式由Implementor完成.Implementor:实现类,定义了实现Abastraction的基本操作,而它的派生类具体实现接口.Abstraction::Operation函数中根据不同的指针多态调用这个函数.Implementor::OperationImpl:定义了为实现Abstraction需要的基本操作,由Imple]]></description><category></category></item><item><title><![CDATA[用 Timing wheel 踢掉空闲连接]]></title><link>https://blog.youkuaiyun.com/dxfans/article/details/6398777</link><guid>https://blog.youkuaiyun.com/dxfans/article/details/6398777</guid><author>dxfans</author><pubDate>Fri, 06 May 2011 01:27:00 +0800</pubDate><description><![CDATA[在严肃的网络程序中，应用层的心跳协议是必不可少的。应该用心跳消息来判断对方进程是否能正常工作，“踢掉空闲连接”只是一时权宜之计。我这里想顺便讲讲 shared_ptr 和 weak_ptr 的用法。如果一个连接连续几秒钟（后文以 8s 为例）内没有收到数据，就把它断开，为此有两种简单粗暴的做法：每个连接保存“最后收到数据的时间 lastReceiveTime”，然后用一个定时器，每秒钟遍历一遍所有连接，断开那些 (now - connection.lastReceiveTime) > 8s 的 connec]]></description><category></category></item></channel></rss>