'\" t .\" Title: zmq_unbind .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 02/03/2021 .\" Manual: 0MQ Manual .\" Source: 0MQ 4.3.4 .\" Language: English .\" .TH "ZMQ_UNBIND" "3" "02/03/2021" "0MQ 4\&.3\&.4" "0MQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" zmq_unbind \- Stop accepting connections on a socket .SH "SYNOPSIS" .sp int zmq_unbind (void \fI*socket\fR, const char \fI*endpoint\fR); .SH "DESCRIPTION" .sp The \fIzmq_unbind()\fR function shall unbind a socket specified by the \fIsocket\fR argument from the endpoint specified by the \fIendpoint\fR argument\&. .sp Addionally the incoming message queue associated with the endpoint will be discarded\&. This means that after unbinding an endpoint it is possible to received messages originating from that same endpoint if they were already present in the incoming message queue before unbinding\&. .sp The \fIendpoint\fR argument is as described in \fBzmq_bind\fR(3) .SS "Unbinding wild\-card address from a socket" .sp When wild\-card * \fIendpoint\fR (described in \fBzmq_tcp\fR(7), \fBzmq_ipc\fR(7), \fBzmq_udp\fR(7) and \fBzmq_vmci\fR(7)) was used in \fIzmq_bind()\fR, the caller should use real \fIendpoint\fR obtained from the ZMQ_LAST_ENDPOINT socket option to unbind this \fIendpoint\fR from a socket\&. .SH "RETURN VALUE" .sp The \fIzmq_unbind()\fR function shall return zero if successful\&. Otherwise it shall return \-1 and set \fIerrno\fR to one of the values defined below\&. .SH "ERRORS" .PP \fBEINVAL\fR .RS 4 The endpoint supplied is invalid\&. .RE .PP \fBETERM\fR .RS 4 The 0MQ \fIcontext\fR associated with the specified \fIsocket\fR was terminated\&. .RE .PP \fBENOTSOCK\fR .RS 4 The provided \fIsocket\fR was invalid\&. .RE .PP \fBENOENT\fR .RS 4 The endpoint supplied was not previously bound\&. .RE .SH "EXAMPLES" .PP \fBUnbind a subscriber socket from a TCP transport\fR. .sp .if n \{\ .RS 4 .\} .nf /* 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); .fi .if n \{\ .RE .\} .PP \fBUnbind wild-card * binded socket\fR. .sp .if n \{\ .RS 4 .\} .nf /* 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); .fi .if n \{\ .RE .\} .sp .SH "NOTE" .sp Note that while the implementation is similar to \fIzmq_disconnect()\fR, the semantics are different and the two functions should not be used interchangeably\&. Bound sockets should be unbound, and connected sockets should be disconnected\&. .SH "SEE ALSO" .sp \fBzmq_bind\fR(3) \fBzmq_socket\fR(3) \fBzmq\fR(7) .SH "AUTHORS" .sp This page was written by the 0MQ community\&. To make a change please read the 0MQ Contribution Policy at \m[blue]\fBhttp://www\&.zeromq\&.org/docs:contributing\fR\m[]\&.