WebSocket是一种在单个TCP连接上进行全双工通信的协议。
先说一下网络数据传输方向:
单工:数据传输只能在一个方向上进行,接收端只能接收数据。例如:对讲机,短波收音机。
半双工:数据可以在同一链路上双向传输,但在同一时间只能有一方发送消息。例如:打电话,电话线。
全双工:同一时间可双向发送消息。例如:网线(上传数据和下载数据都是同时进行的)。
http是什么工?
看http的版本
http/1.0版本是单工的,是短链接,客户端发起请求后,服务端响应后即会断开连接。
http/1.1版本是半双工的,默认会开启长连接(keep-alive),开启了一个连接后可以发送多次请求。
http/2.0版本是全双工的,服务端也可以主动向客户端发消息。
websocket是什么工?
全双工的。可双向通信的网络层协议。
全双工:指可以同时(瞬时)进行信号的双向传输(A→B且B→A)。指A→B的同时B→A,是瞬时同步的。
半双工:指一个时间内只有一个方向的信号传输(A→B或B→A)。
举例说明其原理:一座桥的两头分别有车要过桥,如果桥比较宽,就可以来左去右,互不影响,这就是全双工;如果桥窄,只能先过一边的车,然后再过另一边的车,这就是半双工。
网友评论