【网络协议】为什么Socket要叫Socket

【socket】一词的本意即是【插座】的意思,我们日常编程中使用到WebSocket延用的便是【插座】这个本意
Socket大家都很常用,但是Socket到底是什么,为什么用【插座】一词来表示WebSocket,却很少有人能将明白

其实答案讲出来也很简单

  • TCP/UDP连接就像一条电线,两端各连接着诸多设备(程序/代码模块)
  • 不管两端接入了多少设备,它们只有插入插座,才能通过电线(TCP/UDP)彼此相连
  • 插座是设备和电线连接的接口,而WebSocket扮演的就是这个插座,所以它叫【socket】
  • 专业点来讲,WebSocket就是程序和TCP/UDP协议连接的接口,它并不是网络协议,TCP/UDP才是网络协议,WebSocket只是一套接口,规定如何发送,接收,处理TCP/UDP协议上的数据
  • 对于很多不太了解原理的程序员来说,可能日常开发只涉及业务逻辑,经常用的只有Http协议和Websocket,并不清楚TCP/UDP协议,以及这些网络协议之间的关系
  • 其实它们是网络协议不同层面上的东西,可以共同合作,并不是多选一的关系,一个网络连接,它可能既用到了HTTP协议,也用到TCP协议,还用到了WebSocket
  • TCP/UDP是传输层协议,它负责字节数据的传输和安全性保证。HTTP是应用层协议,它负责将字节转化为一定格式的、应用可识别的数据。而WebSocket则是处理最终应用层收到的有效数据。所以经常可以看到,WebSocket的地址是以http开头的,而HTTP协议又是建立在TCP协议之上的,它在传输层通过TCP来传输
发布了442 篇原创文章 · 获赞 45 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/u013718730/article/details/103799267
今日推荐