`

关于socket中的长连接与短连接

    博客分类:
  • JAVA
阅读更多

1.长连接 
Client方与Server方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收。

2.短连接 
Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点通讯,比如多个Client连接一个Server.

 

 

 

短连接常见于大客户情况 如WEB服务器如果每个连接都使用长连接 那么每个客户都保留一个socket 系统资源耗费很大 。

长连接则是多用于操作频繁情况每个TCP连接都需要三步握手 这需要时间 如果每个操作都是先连接 再操作的话那么处理速度会降低很多 所以每个操作完后都不断开 下次处理时直接发送数据包就OK了 不用建立TCP连接。

另外还有同步操作和异步操作,同步操作指上一个操作返回结果后才能发下一个操作的数据包;异步操作指先把所有的操作数据包发完后 再等待它们的返回结果。相比较看, 异步操作速度快 特别是在每个包处理方法独立的情况下 。

上面只是一个参考 最后要使用哪种类型还是决定于你。如联通的短信协议就是 连接后可以发送多个短信包 但如果一段时间(如60s)没有操作 那么连接就会被关闭。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics