結合 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” 打包發送與接收解析。