如果没有收到数据,Simple TCP/IP client示例将会挂起。
要查看我的意思,请复制客户端代码并运行它,但删除GET请求中的一个\ r \ n使其无效,所以它看起来像这样:
$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n";
服务器不会响应,这是正常的,但我希望能够暂停或者防止它挂起。
我尝试使用socket_set_option设置超时但我认为这仅适用于socket_connect。
任何人都有解决方案吗?
如果我将 socket_recv 与MSG_DONTWAIT标志一起使用,那么等待所有数据,连接关闭或超时的正确方法是什么?如果这些都没有发生?