使用Qt写一个简单tcp服务端
时间: 2023-06-20 11:06:05 浏览: 105
以下是使用Qt写一个简单tcp服务端的步骤:
1. 创建一个Qt控制台应用程序项目。
2. 在 .pro 文件中添加以下行以启用 Qt 的网络模块:
QT += network
3. 打开 main.cpp 文件并添加以下代码:
#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() << "Server could not start!";
return 1;
}
qDebug() << "Server started!";
return a.exec();
}
4. 运行程序,如果一切正常,你应该在控制台上看到 "Server started!" 的输出。
5. 现在我们需要添加一个连接的信号槽。在 main 函数中添加以下代码:
QObject::connect(&server, &QTcpServer::newConnection, [&](){
QTcpSocket *socket = server.nextPendingConnection();
qDebug() << "Client connected: " << socket->peerAddress().toString();
socket->write("Hello, World!\r\n");
socket->flush();
socket->waitForBytesWritten(3000);
socket->close();
socket->deleteLater();
});
6. 运行程序并使用 telnet 连接到您的服务器的IP地址和端口号(在我们的例子中是 1234)。如果一切正常,你应该在控制台上看到 "Client connected: [客户端IP地址]" 的输出,并且你的 telnet 客户端应该收到 "Hello, World!" 的消息。
这只是一个简单的例子,你可以根据自己的需求进行修改和扩展。
阅读全文