qt 实现TCP服务器的示例
时间: 2023-10-11 15:04:26 浏览: 102
这里提供一个简单的 Qt 实现 TCP 服务器的示例代码:
```cpp
#include <QCoreApplication>
#include <QTcpServer>
#include <QTcpSocket>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTcpServer server;
if (!server.listen(QHostAddress::Any, 1234)) {
qDebug() << "Unable to start the server: " << server.errorString();
return 1;
}
qDebug() << "Server is running on port: " << server.serverPort();
QObject::connect(&server, &QTcpServer::newConnection, [&server]() {
QTcpSocket *socket = server.nextPendingConnection();
qDebug() << "New client connected: " << socket->peerAddress().toString() << ":" << socket->peerPort();
socket->write("Hello, client!\r\n");
socket->flush();
socket->waitForBytesWritten(3000);
socket->close();
});
return a.exec();
}
```
这个例子中,我们实例化了一个 `QTcpServer` 对象,并在指定的端口上开始监听客户端连接。当新的客户端连接到服务器时,我们会使用 `nextPendingConnection()` 函数来获取一个新的 `QTcpSocket` 对象,并向客户端发送一条欢迎消息,之后关闭连接。注意,在实际应用中,我们通常需要保持连接并处理客户端的请求。
当我们运行这个程序时,它会在终端输出服务器所在的端口号,表示服务器已经启动并正在监听客户端连接。此时,我们可以使用任何 TCP 客户端连接到这个服务器,并收到它发送的欢迎消息。
阅读全文