结合 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” 打包发送与接收解析。