收藏
回答

WebSocket opening handshake timed out?

js里面创建了一个WebSocket连接,errMsg说connectSocket:ok,但过了一会后又出现错误

服务端用的python ,显示发生異常

我不清楚这个客户端发送的数据是什么,检查recv_data变量是一串乱码

b'\x16\x03\x01\x02\x00\x01\x00\x01\xfc\x03\x03\x86]6\xb9\xfe\xf4\x17=\x87\x7f1[\xae4\xabzH\xaa\xe5\xe6\x1f8HF\xbd\xc4\x83\x89\xa1\r\xc1\x11 Jag\xf0\x02\xf4\x1d\x0b\x92Ix\xf0\xd2S!,4\xaf\xca&(\xfd\xd9\xa3\x18\xf7$ \xa5\xee\xcc#\x00 \n\n\x13\x01\x13\x02\x13\x03\xc0+\xc0/\xc0,\xc00\xcc\xa9\xcc\xa8\xc0\x13\xc0\x14\x00\x9c\x00\x9d\x00/\x005\x01\x00\x01\x93\xba\xba\x00\x00\x00\x00\x00\x0e\x00\x0c\x00\x00\tlocalhost\x00\x17\x00\x00\xff\x01\x00\x01\x00\x00\n\x00\n\x00\x08\n\n\x00\x1d\x00\x17\x00\x18\x00\x0b\x00\x02\x01\x00\x00#\x00\x00\x00\x05\x00\x05\x01\x00\x00\x00\x00\x00\r\x00\x12\x00\x10\x04\x03\x08\x04\x04\x01\x05\x03\x08\x05\x05\x01\x08\x06\x06\x01\x00\x12\x00\x00\x003\x00+\x00)\n\n\x00\x01\x00\x00\x1d\x00 \xe1\x0c\x94\xbe\x88\x1b\x0e\x98\xc9\xa9W\x0e \x98j\xf0\x98\xed\xb4\xa3R\xde\xb0\xc6H?\xafq%\xb9\xd27\x00-\x00\x02\x01\x01\x00+\x00\x0b\n\x9a\x9a\x03\x04\x03\x03\x03\x02\x03\x01\x00\x1b\x00\x03\x02\x00\x02\xaa\xaa\x00\x01\x00\x00\x15\x00\xe5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

python的代码是朋友写的,我对TCP连接也不熟悉,摸索的时候出现了这么一个错誤,请问有大神知道这是怎么回事吗?

python 完整代码:

import imp

import socket

import json


def main():

    #创建套接字

    tcp_server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)


    # 绑定本地信息

    tcp_server.bind(('localhost',8080))


    # 套接字主动变被动 listen)

    tcp_server.listen(128)


    while True:                #循环为多个客户端服务

        print('*****等待新的客户到来*****')

        # accept产生新的套接字

        new_client_socket,client_addr=tcp_server.accept()          # accept返回元组

#**************************************************************以下为具体服务流程

        print('新的客户已经到来')

        # 等待

        print(client_addr)


        while True:                  #循环为一个客户端服务多次

             # 接受客户请求

            recv_data=new_client_socket.recv(1024)


            # 如果recv解堵塞,要么客户端发送数据,要么客户端关闭调用close

            if recv_data:

                print("客户端发来的请求是:%s" % recv_data.decode('gbk'))

                # 回送信息给客户端

                new_client_socket.send('-----ok-----'.encode('gbk'))

            else:

                print("此客户端关闭")

                break


#***************************************************个性化服务结束

        #  关闭accept返回的套接字,不会在为这个客户服务

        new_client_socket.close()

        print("————————已经服务完毕————————")

    # 监听套接字关闭会导致不能再次等待新客户到来

    tcp_server.close


if __name__ =="__main__":\

    main()



回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容