socket 连接问题

客服端连接服务端 显示连接成功 可是里面的一个函数 报错 socket_read(): unable to read from socket [10060]
代码如下

<?php
header('Content-Type: text/html; charset=gb2312');
    //创建一个socket套接流
    $socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
    //连接服务端的套接流,这一步就是使客户端与服务器端的套接流建立联系
    if(socket_connect($socket,'192.168.1.4',6002) == false){
        echo 'connect fail massege:'.socket_strerror(socket_last_error());
    }else{
        $message = 'ttt';
        $message = mb_convert_encoding($message,'GBK','UTF-8');
        //向服务端写入字符串信息

        if(socket_write($socket,$message,strlen($message)) == false){
            echo 'fail to write'.socket_strerror(socket_last_error());

        }else{
            echo 'client write success'.PHP_EOL;
            //读取服务端返回来的套接流信息
            while($callback = socket_read($socket,102400)){
                //socket_getpeername($new_socket, $addr, $port);
                echo 'server return message is:'.PHP_EOL.$callback;
            }
             echo socket_strerror(socket_last_error());
        }
    }
    socket_close($socket);//工作完毕,关闭套接流

找不到原因

阅读 3.2k
1 个回答

看看6002端口是否开放可连接

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