我在理解websocket通信方面有一些问题.AFAIU,在客户端,它的工作方式如下:
所以从客户的角度来看它很清楚 但是从服务器的角度来看,流程是如何进行的(如上面的客户端)以及websocket服务器进程究竟意味着什么,以及我们的意思是什么时候我们的意思是在TCP上进行通信,我们如何检查(我的aplologies,如果问题是非常基本的)
有人可以解释一下.在先谢谢你
在服务器端,它实际上取决于websockets库的实现,语言和API,或者您自己使用的实现.
此描述仅适用于WebSockets的RAW实现,并不基于使用任何库来使用WebSockets协议.诸如jWebSockets(Java),SignalR,socket.io等库将具有与WebSockets一起使用的绝对另外的进程.
如果我们讨论原始套接字上的原始实现,那么进程就像这样:
客户端永远不会收到部分数据或无序数据.它将始终按您发送的顺序接收数据包,并始终按您发送的顺序接收数据包 服务器可能部分地基于低级TCP层进程接收数据.但总会收到订单.
该协议是可靠和有序的.
WebSockets协议RFC 6455最流行的规范,请记住,iOS使用另一个规范,它们可能不是交叉兼容的,这意味着您需要专门为不同的协议实现创建另一个握手功能和数据框架.