logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

zmq_vmci - 0MQ transport over virtual machine communicatios interface (VMCI) sockets

Addressing

A 0MQ endpoint is a string consisting of a transport:// followed by an address. The transport specifies the underlying protocol to use. The address specifies the transport-specific address to connect to. For the VMCI transport, the transport is vmci, and the meaning of the address part is defined below. Bindingasocket When binding a socket to a local address using zmq_bind() with the vmci transport, the endpoint shall be interpreted as an interface followed by a colon and the TCP port number to use. An interface may be specified by either of the following: • The wild-card *, meaning all available interfaces. • An integer returned by VMCISock_GetLocalCID or @ (ZeroMQ will call VMCISock_GetLocalCID internally). The port may be specified by: • A numeric value, usually above 1024 on POSIX systems. • The wild-card *, meaning a system-assigned ephemeral port. Unbindingwild-cardaddressfromasocket When wild-card * endpoint was used in zmq_bind(), the caller should use real endpoint obtained from the ZMQ_LAST_ENDPOINT socket option to unbind this endpoint from a socket using zmq_unbind(). Connectingasocket When connecting a socket to a peer address using zmq_connect() with the vmci transport, the endpoint shall be interpreted as a peeraddress followed by a colon and the port number to use. A peeraddress must be a CID of the peer.

Authors

This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at http://www.zeromq.org/docs:contributing. 0MQ 4.3.5 03/31/2024 ZMQ_VMCI(7)

Examples

Assigningalocaladdresstoasocket. // VMCI port 5555 on all available interfaces rc = zmq_bind(socket, "vmci://*:5555"); assert (rc == 0); // VMCI port 5555 on the local loop-back interface on all platforms cid = VMCISock_GetLocalCID(); sprintf(endpoint, "vmci://%d:5555", cid); rc = zmq_bind(socket, endpoint); assert (rc == 0); Connectingasocket. // Connecting using a CID sprintf(endpoint, "vmci://%d:5555", cid); rc = zmq_connect(socket, endpoint); assert (rc == 0);

Name

zmq_vmci - 0MQ transport over virtual machine communicatios interface (VMCI) sockets

See Also

zmq_bind(3) zmq_connect(3) zmq_inproc(7) zmq_tcp(7) zmq_pgm(7) zmq_vmci(7) zmq_getsockopt(3) zmq(7)

Synopsis

The VMCI transport passes messages between VMware virtual machines running on the same host, between virtual machine and the host and within virtual machines (inter-process transport like ipc). Note Communication between a virtual machine and the host is not supported on Mac OS X 10.9 and above.

See Also