摘要: 很多应用层协议都有HeartBeat机制,通常是客户端每隔一小段时间向服务器发送一个数据包,通知服务器自己仍然在线,并传输一些可能必要的数据。使用心跳包的典型协议是IM,比如QQ/MSN/飞信等协议。学过TCP/IP的同学应该都知道,传输层的两个主要协议是UDP和TCP,其中UDP是无连接的、面向packet的,而TCP协议是有连接、面向流的协议。所以非常容易理解,使用UDP协议的客户端(例如早期的“OICQ”,听说OICQ.com这两天被抢注了来着,好古老的回忆)需要定时向服务器发送心跳包,告诉服务器自己在线。然而,MSN和现在的QQ往往使用的是TCP连接了,尽管TCP/IP底层提供了可选的 阅读全文
posted @ 2012-10-07 23:15 hailong 阅读(456) 评论(0) 推荐(0)
摘要: 封装变化多用组合,少用继承针对接口编程,不针对实现编程为交互对象之间的松耦合设计而努力类应该对扩展开放,对修改关闭依赖抽象,不要依赖具体类这和朋友交谈(减少依赖)Don't call me, I will call you(依赖倒置)类应该只有一个改变的理由(只负责一组功能)摘自《head first 设计模式》摘自:http://my.oschina.net/soitravel/blog/52366 阅读全文
posted @ 2012-10-07 23:01 hailong 阅读(174) 评论(0) 推荐(0)