summaryrefslogtreecommitdiff
path: root/man/man3/zmq_bind.3
blob: b8f21026dc6fcce642c9838a1700af1b4c718fec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
.TH zmq_bind 3 "" "(c)2007-2010 iMatix Corporation" "0MQ User Manuals"
.SH NAME
zmq_bind \- binds the socket to the specified address
.SH SYNOPSIS
.B int zmq_bind (void *s, const char *addr);
.SH DESCRIPTION
The function binds socket
.IR s
to a particular transport. Actual semantics of the 
command depend on the underlying transport mechanism, however, in cases where
peers connect in an asymetric manner,
.IR zmq_bind
should be called first,
.IR zmq_connect
afterwards. Actual formats of
.IR addr
parameter are defined by individual transports. For a list of supported
transports have a look at
.IR zmq(7)
manual page.

Note that single socket can be bound (and connected) to
arbitrary number of peers using different transport mechanisms.
.SH RETURN VALUE
In case of success the function returns zero. Otherwise it returns -1 and
sets
.IR errno
to the appropriate value.
.SH ERRORS
.IP "\fBEPROTONOSUPPORT\fP"
unsupported protocol.
.IP "\fBENOCOMPATPROTO\fP"
protocol is not compatible with the socket type.
.IP "\fBEADDRINUSE\fP"
the given address is already in use.
.IP "\fBEADDRNOTAVAIL\fP"
a nonexistent interface was requested or the requested address was not local.
.SH EXAMPLE
.nf
void *s = zmq_socket (context, ZMQ_PUB);
assert (s);
int rc = zmq_bind (s, "inproc://my_publisher");
assert (rc == 0);
rc = zmq_bind (s, "tcp://eth0:5555");
assert (rc == 0);
.fi
.SH SEE ALSO
.BR zmq_connect (3)
.BR zmq_socket (3)
.BR zmq (7)
.SH AUTHOR
Martin Sustrik <sustrik at 250bpm dot com>