www.LinuxHowtos.org
ZMQ_UNBIND
Section: 0MQ Manual (3)Updated: 12/31/2016
Index Return to Main Contents
NAME
zmq_unbind - Stop accepting connections on a socketSYNOPSIS
int zmq_unbind (void *socket, const char *endpoint);
DESCRIPTION
The zmq_unbind() function shall unbind a socket specified by the socket argument from the endpoint specified by the endpoint argument.
The endpoint argument is as described in zmq_bind(3)
Unbinding wild-card address from a socket
When wild-card * endpoint (described in zmq_tcp(7), zmq_ipc(7) and zmq_vmci(7)) 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.
RETURN VALUE
The zmq_unbind() function shall return zero if successful. Otherwise it shall return -1 and set errno to one of the values defined below.
ERRORS
EINVAL
- The endpoint supplied is invalid.
ETERM
- The 0MQ context associated with the specified socket was terminated.
ENOTSOCK
- The provided socket was invalid.
ENOENT
- The endpoint supplied was not previously bound.
EXAMPLES
Unbind a subscriber socket from a TCP transport.
-
/* Create a ZMQ_SUB socket */ void *socket = zmq_socket (context, ZMQ_SUB); assert (socket); /* Connect it to the host server001, port 5555 using a TCP transport */ rc = zmq_bind (socket, "tcp://127.0.0.1:5555"); assert (rc == 0); /* Disconnect from the previously connected endpoint */ rc = zmq_unbind (socket, "tcp://127.0.0.1:5555"); assert (rc == 0);
Unbind wild-card * binded socket.
-
/* Create a ZMQ_SUB socket */ void *socket = zmq_socket (context, ZMQ_SUB); assert (socket); /* Bind it to the system-assigned ephemeral port using a TCP transport */ rc = zmq_bind (socket, "tcp://127.0.0.1:*"); assert (rc == 0); /* Obtain real endpoint */ const size_t buf_size = 32; char buf[buf_size]; rc = zmq_getsockopt (socket, ZMQ_LAST_ENDPOINT, buf, (size_t *)&buf_size); assert (rc == 0); /* Unbind socket by real endpoint */ rc = zmq_unbind (socket, buf); assert (rc == 0);
SEE ALSO
zmq_bind(3) zmq_socket(3) zmq(7)
AUTHORS
This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at m[blue]http://www.zeromq.org/docs:contributingm[].