正文
go语言解决粘包分包 go语言有依赖包如何编译
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
一文梳理HTTP、TCP、Socket和WebSocket的区别和联系
WebSocket就像HTTP一样,是一个典型的应用层协议。Socket是传输控制层接口,WebSocket是应用层协议。关系图:WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。
实际上,传输层的TCP是基于网路层的IP协议的,而应用层的HTTP协议又是基于传输层的TCP协议的,而Socket本身不算是协议,就像上面所说,它只是提供了一个针对TCP或者UDP程式设计的介面。
SOCKET连接与TCP/IP连接创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。socket则是对TCP/IP协议的封装和应用(程序员层面上)。
按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP是应用层的协议。在这三者之间,SPDY和WebSocket都是与HTTP相关的协议,而TCP是HTTP底层的协议。
就好比现在让你形容一下梯形的定义,如果你不知道定义,你就可能把平行四边形当做特殊的梯形处理,也就有可能把TCP和Socket搞混,更加会纠结TCP连接与Socket连接以及HTTP的长/短连接之间到底有啥区别。其实有了区别才好理解。
go语言解决粘包分包的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go语言有依赖包如何编译、go语言解决粘包分包的信息别忘了在本站进行查找喔。