socket_recv
从连接的套接字接收数据
PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8
socket_recv 函数用于从指定的套接字接收数据。它将从指定的套接字缓冲区中读取数据并将其存储到一个变量中。
int socket_recv ( resource $socket , string &$buf , int $length , int $flags )
如果成功,返回接收到的字节数。如果失败,返回 false。
以下是一个使用 socket_recv 的示例:
<?php // 创建一个套接字 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); <p>// 连接到服务器<br> socket_connect($socket, '127.0.0.1', 8080);</p> <p>// 发送请求<br> $message = "Hello, Server!";<br> socket_send($socket, $message, strlen($message), 0);</p> <p>// 接收服务器响应<br> $buf = '';<br> $bytes_received = socket_recv($socket, $buf, 1024, 0);</p> <p>if ($bytes_received === false) {<br> echo "接收数据失败!\n";<br> } else {<br> echo "接收到的数据: " . $buf . "\n";<br> }</p> <p>// 关闭套接字<br> socket_close($socket);<br> ?><br>
此示例展示了如何使用 socket_recv 从套接字接收数据。代码首先创建了一个 TCP 套接字并连接到本地服务器,然后发送一个消息给服务器。接着,使用 socket_recv 函数接收服务器的响应,并输出接收到的数据。最后,关闭套接字连接。