如果 nng_sendmsg
报错 “Not supported”,这可能是因为你使用的 nng socket 类型不支持发送消息的操作。
请确保你创建的套接字类型正确地匹配了 PUB 协议(发布者)。在 nng 中,PUB 套接字用于发布消息给 SUB(订阅者)套接字。
首先,确保你正确地打开了 PUB 套接字:
nng_socket pubSocket;
int openResult = nng_pub_open(&pubSocket);
if (openResult != 0) {
// 处理套接字打开失败的情况
}
另外,检查一下你绑定地址和端口时是否没有出错:
QString address = "tcp://127.0.0.1:8888"; // 替换为实际的地址和端口
const char* addrStr = address.toStdString().c_str();
int bindResult = nng_listen(pubSocket, addrStr, NULL, 0);
if (bindResult != 0) {
// 处理绑定失败的情况
}
如果问题仍然存在,请检查一下你使用的 nng 版本是否支持 PUB-Sub 模式,并确保编译时链接了正确版本的库文件。
如果问题仍然无法解决,请提供更多代码细节和相关错误信息,以便我能够更好地帮助你解决问题。
内容由零声教学AI助手提供,问题来源于学员提问