WebSocket服务器连接建立失败

时间:2019-01-23 13:36:24

标签: python python-3.x websocket udp

WebSocket服务器未建立连接。

下面的代码是Websocket Handler。
这取决于simple-websocket-server 该处理程序应使用无阻塞UDP套接字(udp套接字)传输接收到的数据。
但是现在,该服务器无法建立连接。

我尝试从webbrowser(启用了--allow-insecure-localhost的Google Chrome)连接到此服务器,这会导致连接失败。

我该如何解决?

from SimpleWebSocketServer import WebSocket, SimpleSSLWebSocketServer, SimpleWebSocketServer
import multiprocessing
from multiprocessing.managers import BaseManager
import ssl
import signal
import sys
import socket
import os.path



class DataWebSocket(WebSocket):
    def __new__(cls, name, bases, cls_dict):
        cls.udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        cls.udp_sock.setblocking(False) #non-blocking udp socket
        cls.udp_sock.bind(("127.0.0.1", 6666))
    def __init__(self, server, sock, address):
        super().__init__(server, sock, address)
    def handleMessage(self):
        self.udp_sock.sendto(("127.0.0.1", 7774), self.data) # transmit received data
        print(self.data)

    def handleClose(self):
        print("connection: closed " + self.address)
        self.sendMessage("server exit")
        #sys.exit()

    def handleConnected(self):
        print("Connected", self.address)


def start_data_receiver():
    SSL = True
    if SSL:
        server = SimpleSSLWebSocketServer("localhost", 4246, DataWebSocket, "../certs/server.crt", "../certs/server.key")
    else:
        server = SimpleWebSocketServer("localhost", 4246, DataWebSocket)
    print("start server: 127.0.0.1:4246")
    server.serveforever()

if __name__ == "__main__":
    start_data_receiver()

0 个答案:

没有答案