企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**stream_socket_accept** ( resource $server_socket [, float $timeout = ini_get("default_socket_timeout") [, string &$peername ]] ) : resource — 接受先前由stream\_socket\_server()创建的套接字上的连接。(即接受stream_socket_client的链接请求) 返回接受套接之后的资源流 或者在失败时返回 **`FALSE`**。 ~~~ $socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr); if (!$socket) { echo "$errstr ($errno)<br />\n"; } else { while ($conn = stream_socket_accept($socket)) { fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n"); fclose($conn); } fclose($socket); } ~~~ >[danger]该函数不能被用于 UDP 套接字。可以使用 stream_socket_recvfrom() 和 stream_socket_sendto() 来取而代之。 ~~~ $socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND); if (!$socket) { die("$errstr ($errno)"); } do { $pkt = stream_socket_recvfrom($socket, 1, 0, $peer); echo "$peer\n"; stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer); } while ($pkt !== false); ~~~