我正在尝试向同一个连接发送 2 个响应。但我在发送时遇到问题。有时第二个请求丢失。
任何人都可以帮助确保第二个请求在同一连接上正确进行。
出于某种原因,我的客户接受了两个请求。 1.消息计数。 2. 要显示的消息。
$valCount = str_pad(strlen($message), 4, "0", STR_PAD_LEFT);
socket_write($socket, $valCount) or die("[" . @date('H:i:s') ."] Could not send output\n");
socket_write($socket, $message) or die("[" . @date('H:i:s') ."] Could not send output\n");
最佳答案
我观察到当你在本地机器上编程套接字时(客户端和服务器都在同一台机器上)会发生这种情况。
我的代码有两个响应从服务器发送到客户端,发生的事情是第一个响应被缓冲(实际上没有发送),当第二个请求到达时,它被一起发送到客户端。
所以您的字符串可能有两个附加在一起的响应。 如果是这种情况,那么您不必担心,因为当服务器和客户端位于不同的机器上时,不会发生这种情况。
关于php - 通过套接字发送 2 个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10225905/