gpt4 book ai didi

php - PHP socket_write()仅发送部分数据

转载 作者:行者123 更新时间:2023-12-03 12:00:53 24 4
gpt4 key购买 nike

我需要一次发送大量数据。但是socket_write仅发送它的一部分。该函数和$ buffer变量是正确的:

socket_write($socket, $buffer, strlen($buffer));

也许可以自定义缓冲区的限制或什么?

http://php.net/manual/en/function.socket-write.php上有很多关于此问题的解决方案,但是它们都将缓冲区分开以将其部分发送。

最佳答案

您应该尝试使用SO_SNDBUF选项设置发送缓冲区的大小。这将允许TCP层的缓冲区容纳更多数据。

$ sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)
socket_set_option($ sock,SOL_SOCKET,SO_SNDBUF,5000);

您可以使用socket_get_option查看套接字缓冲区的当前值:
var_dump(socket_get_option($ sock,SOL_SOCKET,SO_SNDBUF));

网址:http://in3.php.net/manual/en/function.socket-set-option.php

关于php - PHP socket_write()仅发送部分数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18373715/

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