账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    socket编程(server:PHP,client:js)
    17
    0

    错误信息:WebSocket connection to 'ws://127.0.0.1:8888/' failed: Error during WebSocket handshake: net::ERR_INVALID_HTTP_RESPONSE
    请教下这是啥情况咋解决

    service代码

    
    $socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
        echo 'server start';
        if(socket_bind($socket,"127.0.0.1",8888)==false){
            echo 'server bind fail:'.socket_strerror(socket_last_error());
        }
        if(socket_listen($socket,0) == false){
            echo 'server listen fail:'.socket_strerror(socket_last_error());
        }
        while (true){
            $accept=socket_accept($socket);
            if($accept!=false){
                $string=socket_read($accept,1024);
                echo 'server receive is :'.$string.PHP_EOL;//PHP_EOL为php的换行预定义常量
                if($string!=false){
                    $return_string='server receive is :'.$string.PHP_EOL;
                    $ret = socket_write($accept,$return_string,strlen($return_string));
                    var_dump($ret);
                }else{
                    echo 'socket_read is fail';
                }
                socket_close($accept);
            }
        }
        socket_close($socket);

    client

    <script>
        var ws = new WebSocket("ws://127.0.0.1:8888");
        ws.onopen = function (event) {
            console.log("open");
            ws.send("hello");
        };
        ws.onmessage = function (p1) {
            console.log(p1)
        };
        ws.onerror = function(evt)
        {
            console.log("WebSocketError!");
            console.log(evt);
        };
    </script>
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部