结合 Zeromq API函数 与 Qt 字符串QString QByteArray 实现字串收发:
发送端:
1 zmq_msg_t msg;
2 QString strT = “ABC汉字123”;
3 QByteArray array = strT.toLocal8Bit();//默认utf-8编码
4 zmq_msg_init_data(&msg,array.data(),array.size(),NULL,NULL);
5 int rc = zmq_msg_send(&msg,pSock, 0); //pSock由zmq_socket生成
6 //....
7 zmq_msg_close(&msg);
接收端:
zmq_msg_t msg;
zmq_msg_init(&msg);
int rc = zmq_msg_recv(&msg,pSock,0);
if(-1!=rc)
{
char *ptr= (char*)(zmq_msg_data(&msg));
QByteArray array = QByteArray::fromRawData(ptr,rc);
QString strT = QString::fromLocal8Bit(array);
}
实现:strT= “ABC汉字123” 打包发送与接收解析。