socket短连接、长连接

通常短连接是这样:连接->传输数据->关闭连接
那什么是长连接?一般长连接相对短连接而言的,长连接在传输结束后不关闭连接,而不断的发送包保持连接等待处理下一个数据包。

一般长连接用于少数client-end to 
server-end的频繁的通信,例如:数据库的连接用长连接,如果用短连接频繁的通信会造成socket错误,而且频繁的socket创建也是对资源的浪费。
而像WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源。

 

 

怎样判断一个长连接的socket是否已经断线?

写一个结构,记录socket的描述符开始和结束时间,然后定时轮询,如果某段时间以后没有任何操作,就关闭,如果有数据往来的话就更新这个时间。

posted @ 2014-10-12 20:54  合唱团abc  阅读(223)  评论(0编辑  收藏  举报