gpt4 book ai didi

php - 如何读取php套接字连接响应?

转载 作者:行者123 更新时间:2023-12-03 11:50:29 27 4
gpt4 key购买 nike

以下是我的套接字连接请求和响应顺序。

$socket = socket_create(AF_INET, SOCK_STREAM, 0);
$connection = socket_connect($socket, $Host, $Port);
$Md5CheckSum = md5($msg);
$WillWait = 'SOAP '. $Md5CheckSum. ' WILL_WAIT'."\n";
socket_write($socket,$WillWait);
socket_write($socket,$msg);
socket_write($socket, SoapSender::$TERM_CHAR);
sleep(1);
$buf = socket_read($socket, 2048);
//socket_write($socket,"&\r\n");
echo "$buf\n";

请有人告诉我如何读取在上次 socket_write 请求后收到的响应。我整天都在寻找这个答案,但无法通过 Google 找到任何帮助。

非常感谢您的宝贵时间。

最佳答案

应该使用两个函数:

stream_set_blocking($socket, true);

stream_get_contents($socket);

在您的流上设置一个 block 需要在您的应用程序继续执行脚本之前返回数据。

如果不设置流 block ,有时延迟会导致您的 PHP 脚本认为没有响应,从而导致您收不到数据。

此外,使用 stream_get_contents 从套接字中拉取。这将默认获取完整缓冲区。

关于php - 如何读取php套接字连接响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11038853/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com