请用zmqh写一个传递QString字符串的DEMO并且接收端使用字符数组接受
以下是一个使用zmq.h库的简单DEMO,用于传递QString字符串并使用字符数组接收:
发送端代码:
#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 data = message.toUtf8();
zmq_send(socket, data.data(), data.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] = {0};
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;
}
在发送端,我们创建了一个QString对象,使用toUtf8()方法将其转换为QByteArray类型,然后将其发送到ZMQ socket中。
在接收端,我们创建了一个字符数组作为缓冲区,并使用zmq_recv()方法从socket中接收消息。我们然后使用QString::fromUtf8()方法将其转换为QString类型,并将其输出到控制台
原文地址: http://www.cveoy.top/t/topic/htJM 著作权归作者所有。请勿转载和采集!