ZeroMQ 官方地址 : http://api.zeromq.org/4-0:zmq-bindhtml
zmq_bind(3) ZMQ Manual - ZMQ/3.2.5api
Name網絡
zmq_bind - 綁定一個socket,接收發來的連接請求socket
Synopsistcp
int zmq_bind (void *socket, const char *endpoint);
Description函數
zmq_bind() 函數綁定把一個socket綁定在一個本地的網絡節點(endpoint)上,而後開始接收鏈接到本節點上的其它節點發送來的消息。spa
節點是一個字符串,它包括一個協議://而後跟着一個address。協議爲下列給定的協議中的一個。address指定了進行綁定的地址。線程
ØMQ支持如下幾種傳輸協議:翻譯
tcp code
點對點傳輸協議tcp,參見zmq_tcp(7)
ipc
本地線程間通訊,參見zmq_ipc(7)
inproc
本地進程內(線程間)通訊,參見zmq_inproc(7)
pgm,epgm
使用PGM進行可靠的多路廣播,參見zmq_pgm(7)
除了ZMQ_PAIR以外,全部的ZMQ socket類型都支持一對多和多對一傳輸方式。這種精確的多路傳輸依賴於在zmq_socket(3)中定義的socket類型。
ipc和tcp傳輸方式接受通配符形式的地址:更多細節參見zmq_ipc(7)和zmq_tcp(7)。
對於zmq_bind()和zmq_connect()來講,tcp,pgm和epgm的地址語法形式可能比較特別。
緊跟着zmq_bind()函數以後的操做,是這個socket開啓一種靜音狀態,直到至少一條到來的或發出去的鏈接被建立,而那個鏈接的發起者處在預備狀態。在靜音狀態的時候,socket會根據在zmq_socket(3)中定義的類型而選擇阻塞或者丟棄消息。相對的,libzmq:zmq_connect[3]函數以後,socket會處於預備狀態。
Return value
若是zmq_bind()執行成功會返回0。其它狀況則返回-1而且設置errno爲下列的對應的值。
Errors
EINVAL
給定的終結點是不可用的。
EPROTONOSUPPORT
請求的傳輸協議沒法被支持。
ENOCOMPATPROTO
請求的傳輸協議和給定的socket相似沒法兼容。
EADDRINUSE
被請求的地址已經在使用中。
EADDRNOTAVAIL
請求的地址不是本地地址。
ENODEV
請求的地址指向了一個不存在的網口。
ETERM
和被指定的socket鏈接ZMQ環境被終結了。
ENOTSOCK
提供的socket沒法使用。
EMTHREAD
沒有可用的I/O線程來完成這個任務。
Example
綁定在一個ZMQ_PUB類型的socket上,並使用inproc傳輸方式和TCP協議。
1 /* Create a ZMQ_PUB socket */
2
3 void *socket = zmq_socket (context, ZMQ_PUB); 4
5 assert (socket); 6
7 /* Bind it to a in-process transport with the address 'my_publisher' */
8
9 int rc = zmq_bind (socket, "inproc://my_publisher"); 10
11 assert (rc == 0); 12
13 /* Bind it to a TCP transport on port 5555 of the 'eth0' interface */
14
15 rc = zmq_bind (socket, "tcp://eth0:5555"); assert (rc == 0);
See also
zmq_connect(3) zmq_socket(3) zmq(7)
Authors
This ØMQ manual page was written by Pieter Hintjens <ph@imatix.com>, Martin Sustrik
<sustrik@250bpm.com> and Martin Lucina <mato@kotelna.sk>.
Web site design and content is copyright (c) 2007-2012 iMatix Corporation. Contact us for professional
support. Site content licensed under the Creative Commons Attribution-Share Alike 3.0 License. ØMQ is
copyright (c) Copyright (c) 2007-2012 iMatix Corporation and Contributors. ØMQ is free software licensed
under the LGPL. ØMQ, ZeroMQ, and 0MQ are trademarks of iMatix Corporation. Terms of Use — Privacy
Policy
更多 ZeroMQ API :http://www.cnblogs.com/fengbohello/p/4230135.html
翻譯:風波
mail : fengbohello@qq.com