php-如何理解客户端在服务器中向哪个路由发送了websocket消息?
作者:互联网
我正在构建服务器,并且在尝试实现websocket协议时遇到了一些问题.
正如问题标题所描述的,让我们假设我定义了两个路由(/ ws1,/ ws2),它们公开了多个websocket连接.
并且在发生握手的情况下,我可以成功地了解握手请求的发送路径.
当前的主要问题是,当客户端发送后续的websocket消息时,服务器将如何理解该websocket消息发送到的端点.
读完以下内容:https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers我知道消息中没有这样的字段表示路由.
以防万一:我在PHP中执行此操作.
解决方法:
使用升级连接的HTTP GET请求建立WebSocket连接.通过使用(int)$resource将资源转换为整数,可以基于PHP中的资源ID识别客户端.
通常,TCP连接由四倍的源IP /源端口/目标IP /目标端口标识.
您必须将URI /端点信息保留在数组或类似的数据结构中,并使用客户端ID作为索引.然后,您可以在收到新消息后查找端点.
标签:websocket,phpwebsocket,php 来源: https://codeday.me/bug/20191118/2026874.html