PyQt5中的WebSocket服务器,显然正确,但是我无法连接

伊戈尔·赫尔森

我需要做的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 websocket)进行连接,并且返回了服务器连接错误,当我尝试通过telnet(telnet本地主机1302)。

伊戈尔·赫尔森

感谢您的答复,代码中还有其他错误,如果有人需要,请输入最终代码:

from PyQt5 import QtCore, QtWebSockets,  QtNetwork, QtWidgets

class MyServer(QtCore.QObject):
    def __init__(self, parent):
        super(QtCore.QObject, self).__init__(parent)
        self.clients = []
        self.server = QtWebSockets.QWebSocketServer(parent.serverName(), parent.secureMode(), parent)
        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):
        self.clientConnection = self.server.nextPendingConnection()
        self.clientConnection.textMessageReceived.connect(self.processTextMessage)

        self.clientConnection.binaryMessageReceived.connect(self.processBinaryMessage)
        self.clientConnection.disconnected.connect(self.socketDisconnected)

        self.clients.append(self.clientConnection)

    def processTextMessage(self,  message):
        if (self.clientConnection):
            self.clientConnection.sendTextMessage(message)

    def processBinaryMessage(self,  message):
        if (self.clientConnection):
            self.clientConnection.sendBinaryMessage(message)

    def socketDisconnected(self):
        if (self.clientConnection):
            self.clients.remove(self.clientConnection)
            self.clientConnection.deleteLater()


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    serverObject = QtWebSockets.QWebSocketServer('My Socket', QtWebSockets.QWebSocketServer.NonSecureMode)
    server = MyServer(serverObject)
    serverObject.closed.connect(app.quit)
    app.exec_()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我无法连接FTP服务器

来自分类Dev

我无法使用php中的ssh2_auth_password连接到服务器sftp,但是如果我使用FileZilla,则可以正常工作。这是我的代码:

来自分类Dev

达芙妮服务器无法与HTTPS上的WebSocket连接

来自分类Dev

iOS WebSocket无法使用SocketRocket连接到服务器

来自分类Dev

死循环无法连接websocket服务器

来自分类Dev

PhoneGap-无法正确连接到服务器

来自分类Dev

断开与服务器的连接后,我无法再次连接至该服务器

来自分类Dev

无法通过浏览器连接到ftp服务器,但是我可以使用ftp server_addr从终端连接

来自分类Dev

Node.js“服务器正在侦听端口3000”,但是我无法在浏览器中查看它?

来自分类Dev

java ssl tcp连接正常,但是接收到服务器的数据不正确

来自分类Dev

我的服务器无法连接到外部

来自分类Dev

为什么我的 RestTemple 无法连接到服务器?

来自分类Dev

服务器上的WebSocket连接状态

来自分类Dev

无法使用 Laravel 5 连接到 Mysql 服务器

来自分类Dev

无法在Android中的XMPP服务器中连接

来自分类Dev

浏览器无法连接到php websocket服务器

来自分类Dev

无法连接到Android中的Node JS服务器

来自分类Dev

无法连接到Android中的Node JS服务器

来自分类Dev

无法在Android的XMPP服务器中连接

来自分类Dev

ssh无法连接到VPN中的服务器

来自分类Dev

无法在 Nautilus 中“连接到服务器”

来自分类Dev

无法连接到在 WSL 中运行的 ssh 服务器

来自分类Dev

无法连接到 intellij 中的 Wildfly 服务器

来自分类Dev

Jetty Websocket服务器在本地工作,但是远程连接失败并显示“主机已关闭”错误,如何解决?

来自分类Dev

无法通过Express-WS中间件正确创建Websocket服务器

来自分类Dev

Javascript:我可以在随机端口打开 websocket 服务器连接吗

来自分类Dev

本地服务器无法使用PHP连接到远程Postgresql数据库,但是本地终端可以连接

来自分类Dev

PHP:创建文件,但不能附加(显然)正确的服务器权限(LAMP)

来自分类Dev

我的本地网络中的一台PC无法连接到SSH服务器

Related 相关文章

  1. 1

    我无法连接FTP服务器

  2. 2

    我无法使用php中的ssh2_auth_password连接到服务器sftp,但是如果我使用FileZilla,则可以正常工作。这是我的代码:

  3. 3

    达芙妮服务器无法与HTTPS上的WebSocket连接

  4. 4

    iOS WebSocket无法使用SocketRocket连接到服务器

  5. 5

    死循环无法连接websocket服务器

  6. 6

    PhoneGap-无法正确连接到服务器

  7. 7

    断开与服务器的连接后,我无法再次连接至该服务器

  8. 8

    无法通过浏览器连接到ftp服务器,但是我可以使用ftp server_addr从终端连接

  9. 9

    Node.js“服务器正在侦听端口3000”,但是我无法在浏览器中查看它?

  10. 10

    java ssl tcp连接正常,但是接收到服务器的数据不正确

  11. 11

    我的服务器无法连接到外部

  12. 12

    为什么我的 RestTemple 无法连接到服务器?

  13. 13

    服务器上的WebSocket连接状态

  14. 14

    无法使用 Laravel 5 连接到 Mysql 服务器

  15. 15

    无法在Android中的XMPP服务器中连接

  16. 16

    浏览器无法连接到php websocket服务器

  17. 17

    无法连接到Android中的Node JS服务器

  18. 18

    无法连接到Android中的Node JS服务器

  19. 19

    无法在Android的XMPP服务器中连接

  20. 20

    ssh无法连接到VPN中的服务器

  21. 21

    无法在 Nautilus 中“连接到服务器”

  22. 22

    无法连接到在 WSL 中运行的 ssh 服务器

  23. 23

    无法连接到 intellij 中的 Wildfly 服务器

  24. 24

    Jetty Websocket服务器在本地工作,但是远程连接失败并显示“主机已关闭”错误,如何解决?

  25. 25

    无法通过Express-WS中间件正确创建Websocket服务器

  26. 26

    Javascript:我可以在随机端口打开 websocket 服务器连接吗

  27. 27

    本地服务器无法使用PHP连接到远程Postgresql数据库,但是本地终端可以连接

  28. 28

    PHP:创建文件,但不能附加(显然)正确的服务器权限(LAMP)

  29. 29

    我的本地网络中的一台PC无法连接到SSH服务器

热门标签

归档