pyqt5 tcp服务器
时间: 2023-07-03 19:22:33 浏览: 111
PyQt5
好的,您想了解如何使用 PyQt5 创建一个 TCP 服务器,是吗?以下是一个简单的例子:
```python
import sys
from PyQt5.QtCore import *
from PyQt5.QtNetwork import *
class MyServer(QObject):
def __init__(self, parent=None):
super(MyServer, self).__init__(parent)
self.tcpServer = QTcpServer(self)
self.tcpServer.newConnection.connect(self.newClient)
self.tcpServer.listen(QHostAddress.Any, 8888)
print("Server is running on port", self.tcpServer.serverPort())
def newClient(self):
client = self.tcpServer.nextPendingConnection()
client.readyRead.connect(self.readClient)
client.disconnected.connect(client.deleteLater)
def readClient(self):
client = self.sender()
data = client.readAll().data().decode()
print("Received:", data)
if __name__ == '__main__':
app = QCoreApplication(sys.argv)
server = MyServer()
sys.exit(app.exec_())
```
这个例子创建了一个名为 `MyServer` 的自定义类,它继承了 QObject 类。在类的构造函数中,它创建了一个 QTcpServer 对象,并监听所有 IP 地址的 8888 端口。当有新的客户端连接到服务器时,`newClient` 槽函数会被调用。在这个函数中,它连接到客户端的 `readyRead` 信号和 `disconnected` 信号,并将它们连接到 `readClient` 和 `deleteLater` 槽函数。`readClient` 函数从客户端读取数据并将其打印出来。
在主函数中,它创建了一个 QApplication 对象和一个 MyServer 对象,并开始 Qt 事件循环。
希望这个例子对您有所帮助!
阅读全文