计算机网络
文章平均质量分 75
chrisnotfound
这个作者很懒,什么都没留下…
展开
-
WebSocket协议讲解
WebSocket是什么Wiki上是这样介绍的:WebSocket是一种在单个TCP连接上进行全双工通讯的协议。这里做个补充:是HTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。它基于TCP传输协议,并复用HTTP的握手通道。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只...原创 2018-05-12 11:12:04 · 398 阅读 · 0 评论 -
理解Socket
Socket的概念什么是Socket?很多博客总结的不到位。这里做一个全面的解释。基本原理的角度来看,Socket起源于Unix,Unix/Linux基本哲学之一就是“一切皆文件”,Socket是一种"打开—读/写—关闭"模式的实现,可以被认为是服务器和客户端各自维护的一种特殊文件,在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容,通讯结束时关闭文件。进程通信的角度来看,Sock...原创 2018-04-27 15:30:39 · 247 阅读 · 0 评论 -
理解TCP长连接(Keepalive)
TCP Keepalive的起源TCP协议中有长连接和短连接之分。短连接环境下,数据交互完毕后,主动释放连接;长连接的环境下,进行一次数据交互后,很长一段时间内无数据交互时,客户端可能意外断电、死机、崩溃、重启,还是中间路由网络无故断开,这些TCP连接并未来得及正常释放,那么,连接的另一方并不知道对端的情况,它会一直维护这个连接,长时间的积累会导致非常多的半打开连接,造成端系统资源的消耗和浪费,且...原创 2018-04-27 17:59:32 · 60949 阅读 · 0 评论 -
TCP Keepalive机制与应用层心跳Heartbeat
TCP长连接中可能出现的问题1. 很多防火墙路由器等对于空闲socket自动关闭2. 对于非正常断开, 服务器并不能检测到. 为了回收资源, 必须提供一种检测机制.于是,就有了心跳(HeartBeat)机制。心跳机制的两种实现方案目前而言,有两种方式实现TCP的保活(业内现状是IM方面几乎都采用第一种)1. 应用层协议自己实现的心跳机制很多应用层协议都有HeartBeat机...原创 2018-04-27 20:06:20 · 3856 阅读 · 2 评论