Мне нужно сделать сервер websocket в pyqt5, читайте документацию от версии 5.3 там есть все необходимые классы, следуйте этому примеру на C++ http://doc.qt.io/qt-5/qtwebsockets-examples.html и вот результат:
from PyQt5 import QtCore, QtWebSockets, QtNetwork
class MyServer(QtCore.QObject):
def __init__(self, parent=None):
super(QtCore.QObject, self).__init__(parent)
self.server = QtWebSockets.QWebSocketServer('My Socket', QtWebSockets.QWebSocketServer.NonSecureMode)
if self.server.listen(QtNetwork.QHostAddress.LocalHost, 1302):
print('Connected: '+self.server.serverName()+' : '+self.server.serverAddress().toString()+':'+str(self.server.serverPort()))
else:
print('error')
self.server.newConnection.connect(self.onNewConnection)
print(self.server.isListening())
def onNewConnection(self):
print(self.sender())
print("inside")
self.server.textMessageReceived.connect(self.processTextMessage)
self.server.binaryMessageReceived.connect(self.processBinaryMessage)
self.server.disconnected.connect(self.socketDisconnected)
def processTextMessage(self, message):
print(message)
def processBinaryMessage(self, message):
print(message)
def socketDisconnected(self):
print('out')
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MyServer()
sys.exit(app.exec_())
при запуске метода isListening возвращает true, что заставляет меня поверить, что этот код правильный, однако я пытаюсь подключиться с помощью клиента javascript (веб-сокет html5), и он возвращает мне ошибку подключения к серверу, то же самое происходит, когда я пытаюсь выстрелить в сервер телнет (телнет локальный хост 1302).