一文读懂socket、websocket、socketio
socket、websocket、socketio关系
socket:socket也叫套接字,不是一个协议,而是为了方便使用TCP或UDP而抽象出来的一层,是位于应用层和传输控制层之间的一组接口,可以方便的使用TCP和UDP协议。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面。socket是通信的基础,所有的网络功能的基础就是socket,它并不规定传输协议,只是提供了最基本的数据传输功能。
注:套接字起源于20世纪70年代加利福尼亚大学伯克利分校版本的Unix,即人们所说的BSD Unix。因此,有时人们也把套接字称为伯克利套接字”或“BSD套接字”。一开始,套接字被设计用在同一台主机上多个应用程序之间的通讯,所以也被称进程间通讯或IPC。套接字有两种(或者称为有两个种族),分别是基于文件型的和基于网络型的。
websocket:websocket是html5规范中的一个部分,为web应用程序客户端和服务端之间提供了一种全双工通信机制。websocket既是一种技术,同时,它又是一种新的应用层协议,它规定了两端之间数据传输的编码和解码方案,websocket协议通常表示为:ws://echo.websocket.org/?encoding=text HTTP/1.1。
socketio:WebSocket是HTML5最新提出的规范,虽然主流浏览器都已经支持,但仍然可能有不兼容的情况,为了兼容所有浏览器,给程序员提供一致的编程体验,