我有一个 PHP 客户端通过纯文本 Unix 域套接字连接到本地 C 服务器程序。但是,我可以让它很好地关闭的唯一方法是如果我完成套接字会话:
stream_socket_shutdown($sock, 1); // shutdown socket writing
usleep(500 * 1000); // wait for 0.5 seconds
fclose($sock); // actually close the socket (finally)
我想像我的 C 客户端一样优雅地关闭它:-
shutdown(connection_fd, SHUT_WR); // tell server we've stopped sending queries
// Read from the socket until poll(connection_fd) yields POLLRDHUP / POLLHUP / POLLERR / POLLNVAL
shutdown(connection_fd, SHUT_RDWR); // tell connection we've stopped listening
close(connection_fd); // close the whole connection (finally)
但是,PHP 似乎没有直接的套接字 poll() 等效项。如何让 PHP 优雅地关闭我的本地套接字?