ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
stream_socket_recvfrom ( resource $socket , int $length [, int $flags = 0 [, string &$address ]] ) : string — 接收来自已连接或未连接的套接字的数据(从Socket获取数据,不管其连接与否)。以字符串形式返回读取的数据 如果收到的消息比length参数长,则多余的字节可能会被丢弃,具体取决于接收消息的套接字类型(例如UDP)。 在基于套接字的流上调用stream_socket_recvfrom(),在调用基于缓冲区的流函数(如fread()或stream_get_line())之后,直接从套接字读取数据并绕过流缓冲区 ``` /* 在本地主机上打开一个服务器套接字到端口1234 */ $server = stream_socket_server('tcp://127.0.0.1:1234'); /* 接受客户端的连接 */ $socket = stream_socket_accept($server); /* 获取OOB数据包(1500是典型的MTU大小) */ echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n"; /* 查看一下正常的带内数据,但不使用它. */ echo "Data: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n"; /* 再次获取完全相同的数据包,但这次将其从缓冲区中移除. */ echo "Data: '" . stream_socket_recvfrom($socket, 1500) . "'\n"; /* Close it up */ fclose($socket); fclose($server); ```