gpt4 book ai didi

c - QNX VM 不支持 zmq_vmci?

转载 作者:太空宇宙 更新时间:2023-11-03 23:42:46 25 4
gpt4 key购买 nike

我一直在用 C 语言在 QNX 6.6 Neutrino 虚拟机上使用 ZMQ。只是一些简单的 req-rep 和 pub-sub 程序。我已经让它们在单个 VM 上工作,并在自己的进程中运行每个程序。

//client
void *context = zmq_ctx_new ();
void *requester = zmq_socket (context, ZMQ_REQ);
zmq_connect (requester, "tcp://localhost:8001");

//server
void *context = zmq_ctx_new ();
void *responder = zmq_socket (context, ZMQ_REP);
zmq_bind (responder, "tcp://*:8001")

但是,当我将传输从 tcp 更改为 vmci 时,我收到一条不支持的错误消息。

Error message: Protocol not configured or not supported.

我的主机是 Windows 7。我正在使用 VMware Workstation 来托管虚拟机。我的 libzmq 版本是 4.2.0。

感谢您的帮助。 :)

最佳答案

ZeroMQ vmci://transport-class 需要一些额外的改变

不仅仅是源代码中从 tcp:vmci: 的交换。

vmci:// 还需要知道(接收)来自 VM-hypervisor 的 CID

//  Get, show and set the CID
cid = VMCISock_GetLocalCID();
printf( "Obtained [%d] for using in vmci://<CID>:<port>", cid );
sprintf( aSockEndPOINT, "vmci://%d:5555", cid );

// .bind()
opRetCode = zmq_bind( socket, aSockEndPOINT ); assert ( rc == 0 );

.connect() 端:

//  --------------------------------------------------------------
// .connect() using a CID
sprintf( aConnEndPOINT, "vmci://%d:5555", cid );
opRetCode = zmq_connect( socket, aConnEndPOINT ); assert ( rc == 0 );

一些其他适用于练习的建议"wildcard"-bind()-s or for deferred VMCISock_GetLocalCID()-calls


对于 QNX 虚拟机:

您能否确认 QNX Neutrino 已成功适配 ZeroMQ?

C 程序包含文件的位置vmci_sockets.h 包含文件位于以下位置之一:

Linux guest – /usr/lib/vmware-tools/include/vmci

Linux 主机 – /usr/lib/vmware/include/vmci


您能否确认,您的 ZeroMQ QNX 端口是 generated by cross-building from FreeBSD port ( Chapter 2 )或者通过其他一些已发布的方法来包含 vmci


您是否测试了 VMCI 在 QNX 端针对 VMware Workstation 的纯 C 语言(没有 ZeroMQ)?

May enjoy a few scenarios to test and POSACK / NACK the QNX / VMware Workstation vmci-RTO state.


最后但并非最不重要的

VM 必须获得适当的权限才能使用 VMCI 服务,否则主机/隔离将成为首要任务:

enter image description here

关于c - QNX VM 不支持 zmq_vmci?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41050572/

25 4 0
文章推荐: c - 与 C 的接口(interface)程序集
文章推荐: node.js - 使用 Mongoose 从 Node 的 MongoDB 中的复杂嵌入式集合中插入、更新和删除
文章推荐: css - 制作等高的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com