php - 通过套接字发送 2 个请求

标签 php sockets tcp

我正在尝试向同一个连接发送 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/

相关文章:

c# - 使用 Over TCP 发送多个文件

c++ - 第一个包无法使用非阻塞 tcp 套接字发送

java - 为什么我无法从 tcp 服务器获取响应?

php - 如何在 laravel 中验证字数

javascript - PHP中如何存储多个流套接字资源?

java - 通过 HTTP GET 发送数据到 PHP 服务器

php - 如何(真正)对适配器进行单元测试

sockets - gprs调制解调器上的tcp/ip套接字

php 用户注册 num 行不起作用

php - Facebook 连接很慢,我可以使用 AJAX 吗?