Qt tcp/ip通讯

Qt tcp/ip通讯

.pro 文件中添加  QT += network

1、简单 无窗口例子

服务端

#include <QCoreApplication>
#include <QTcpServer>
#include <QTcpSocket>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QTcpServer server;
    server.listen(QHostAddress::Any, 12345); // 监听所有网络接口上的1234端口

    QObject::connect(&server, &QTcpServer::newConnection, [&]() {
        QTcpSocket *socket = server.nextPendingConnection();
        qDebug() << "New client connected!";
        socket->write("Hello client!"); // 向客户端发送数据
        socket->waitForBytesWritten();
        socket->waitForReadyRead();
        qDebug() << "Received data from client:" << socket->readAll(); // 读取客户端发送的数据
        socket->close(); // 关闭连接
    });

    return a.exec();
}

客户端

#include <QCoreApplication>
#include <QTcpSocket>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QTcpSocket socket;
    socket.connectToHost("127.0.0.1", 12345); // 连接到服务器的IP地址和端口号

    if (socket.waitForConnected()) {
        cout << "Connected to server!"<< endl;
        socket.write("Hello server!"); // 向服务器发送数据
        socket.waitForBytesWritten();
        socket.waitForReadyRead();
        cout << "Response from server:" << socket.readAll().toStdString() << endl; // 读取服务器的响应数据
        socket.close(); // 关闭连接
    } else {
        cout << "Failed to connect to server."<<endl;;
    }
    return a.exec();
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值