使用 zmq.h 传递 QString 字符串到字符数组

本示例演示如何使用 zmq.h 库将 QString 字符串从发送端发送到接收端,接收端使用字符数组接收内容。

发送端

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

int main()
{
    // 创建context和socket
    void *context = zmq_ctx_new();
    void *socket = zmq_socket(context, ZMQ_PUSH);

    // 连接到接收端
    zmq_connect(socket, "tcp://localhost:5555");

    // 发送字符串
    QString str = 'Hello World!';
    zmq_send(socket, str.toStdString().c_str(), str.length(), 0);

    // 关闭socket和context
    zmq_close(socket);
    zmq_ctx_destroy(context);

    return 0;
}

接收端

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

int main()
{
    // 创建context和socket
    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);
    std::cout << buffer << std::endl;

    // 关闭socket和context
    zmq_close(socket);
    zmq_ctx_destroy(context);

    return 0;
}

在本例中,发送端将 QString 转换为 std::string,并将其作为字符数组发送。接收端接收到字符数组并将其打印到控制台。请注意,在实际使用时,需要根据实际情况调整字符数组的大小。

使用 zmq.h 传递 QString 字符串到字符数组

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

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