以下是使用 zmq.h 编写的传递 QString 字符串的 DEMO 代码:

发送端:

#include <zmq.h>
#include <QString>
#include <iostream>

int main()
{
    void *context = zmq_ctx_new();
    void *socket = zmq_socket(context, ZMQ_PUSH);
    zmq_connect(socket, "tcp://localhost:5555");

    QString message = 'Hello, world!';
    QByteArray byteArray = message.toUtf8();
    zmq_send(socket, byteArray.data(), byteArray.size(), 0);

    zmq_close(socket);
    zmq_ctx_destroy(context);

    return 0;
}

接收端:

#include <zmq.h>
#include <QString>
#include <iostream>

int main()
{
    void *context = zmq_ctx_new();
    void *socket = zmq_socket(context, ZMQ_PULL);
    zmq_bind(socket, "tcp://*:5555");

    char buffer[1024];
    zmq_recv(socket, buffer, 1024, 0);
    QString message = QString::fromUtf8(buffer);

    std::cout << "Received message: " << message.toStdString() << std::endl;

    zmq_close(socket);
    zmq_ctx_destroy(context);

    return 0;
}

该 DEMO 中,发送端使用 ZMQ_PUSH 套接字连接到本地的 5555 端口,将 QString 类型的消息转换为 QByteArray 类型,并使用 zmq_send 函数发送。接收端使用 ZMQ_PULL 套接字绑定到本地的 5555 端口,并使用 zmq_recv 函数接收消息,并将接收到的 QByteArray 类型的消息转换为 QString 类型。最后,输出接收到的消息到控制台。


原文地址: https://www.cveoy.top/t/topic/oWu3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录