Socket之长连接、短连接
来源:互联网 发布:单片机c51和c52 编辑:程序博客网 时间:2024/04/29 11:11
谈到socket,大家谈论比较多的还是关于长连接和短连接,何为长连接,短连接呢?顾名思义,所谓长连接,指在一个连接上可以连续发送多个数据包,然后断开连接,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
我们现在的程序中用的比较多的貌似就是长连接了,那么怎么才能保持长连接呢,经查资料得出,比较成熟的有两种方法:
第一种是在应用层制定协议,发心跳包,这也是C#,JAVA等高级语言比较常用的方法。客户端和服务端制定一个通讯协议,每隔一定时间(一般15秒左右),由一方发起,向对方发送协议包;对方收到这个包后,按指定好的通讯协议回一个。若没收到回复,则判断网络出现问题,服务器可及时的断开连接,客户端也可以及时重连。
第二种通过TCP协议层发送KeepAlive包。这个方法只需设置好你使用的TCP的KeepAlive项就好,其他的操作系统会帮你完成。操作系统会按时发送KeepAlive包,一发现网络异常,马上断开。
但是这两种方法又各有什么利弊呢?发KeepAlive包的好处,是我们在应用层不需自己定协议,通信的两端,只要有一端设好这个值,两边都能及时检测出TCP连接情况。而且这些都是操作系统帮你自动完成的。这种方法也是有些缺陷的,Keepalive设置不合理时可能会因为短暂的网络波动而断开健康的TCP连接。
本文链接地址为:http://blog.csdn.net/yisampi2009/article/details/6602919
- Socket之长连接、短连接
- socket 长连接 短连接
- Socket 长连接、短连接
- Socket 短连接、长连接
- socket长连接和socket短连接
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- http和socket之长连接和短连接区别
- linux C 之时间函数
- .NET中各种数据库连接
- GlobalLock函数
- Diagnostics.Trace 保存txt
- Linux(ubuntu)下如何安装与卸载软件总结
- Socket之长连接、短连接
- 将标注当前位置项目,整合到其他项目中碰到的问题。
- C++ 修改文件中单词大小写
- 生成对象必须new吗,不是的,也可以不用,这样对象空间你在栈里。但java里不同
- 比较bash和perl的比较运算符(纠结)
- 必须知道的.NET
- 用DirectShow实现QQ的音视频聊天功能
- oracle 查询权限
- oracle中毫秒数转日期