php中socket_read问题

我写了一个测试socket链接测试服务器端的php脚本.
在linux中执行后,服务器端返回的内容可以返回.但后面判断超过3秒退出的代码不执行,改php脚本进程一直在,请问应该怎样处理?(有点着急,提问可能有些不清楚...抱歉..)

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
        exit;
    }
    $result = socket_connect($socket, $host, $port);
    if ($result === false) {
        exit;
    }
    socket_write($socket, $str, strlen($str));//通过socket向服务端发起请求.
    $time = time();
    while($king=socket_read($socket,1024)){
        echo $king;
        if((time()-$time)>3){
            echo "退出";
            socket_write($socket, $str, strlen($exit));
            exit;
        }
    }
阅读 3.2k
1 个回答

这是没有读到EOF,socket_read阻塞住了吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题