请用zmqh写一个传递QString字符串的DEMO并且接收端使用字符数组接收
以下是使用zmq.h编写的传递QString字符串的DEMO:
发送端:
#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,并将其作为字符数组发送。接收端接收到字符数组并将其打印到控制台。请注意,在实际使用时,需要根据实际情况调整字符数组的大小
原文地址: http://www.cveoy.top/t/topic/htIz 著作权归作者所有。请勿转载和采集!