zmq_unbind(3)
ØMQ Manual - ØMQ/4.2.2
Name
zmq_unbind - Stop accepting connections on a socket
Synopsis
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 ØMQ 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 ØMQ community. To make a change please read the ØMQ Contribution Policy at http://www.zeromq.org/docs:contributing.