WebSocket Server не устанавливает соединение.
Ниже приведен код Websocket Handler.
Это зависит от simple-websocket-server Ожидается, что этот обработчик будет передавать полученные данные с неблокирующим сокетом UDP (носок udp).
Но теперь этот сервер не может установить соединение.
Я попытался подключиться к этому серверу из веб-браузера (Google Chrome с включенным параметром --allow-insecure-localhost), он вызывает сбой соединения.
Как это исправить?
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()