ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_connect
zmq_connect(3) ØMQ Manual - ØMQ/3.2.5
Name
zmq_connect - 由一個socket創建一個對外連接(outgoing connection)
Synopsis
int zmq_connect (void *socket, const char *endpoint);
Description
zmq_connect()函數將socket連接到節點endpoint上,然后開始接受在這個節點上的到來的連接請求。
endpoint是一個字符串,包含一個協議://緊跟一個address地址。協議有下列的協議指定。address指定要進行綁定的用來傳輸的地址。
ZMQ 提供以下的通信協議:
tcp
使用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類型。
對於多數的傳輸和socket類型,連接並不會被立刻執行,但是卻是ZMQ所必需的。這樣一來,成功的調用zmq_connect()並不意味着連接已經真實的建立好了。因此,對多數傳輸和socket類型來說,是服務器先進性綁定還是客戶端先進性連接請求是沒有什么區別的。首先的例外是什么時候使用inproc://傳輸:你必須在調用zmq_connect()之前執行zmq_bind() 。然后就是ZMQ_PAIR類型的socket,這類socket不會自動對這個節點地址進行重新連接。
zmq_connect()函數之后,socket會進入普通ready狀態。和zmq_bind() 對照來看,zmq_bind() 會進入靜音狀態,在這種狀態下,socket會進行阻塞或者丟棄消息,當然,這要看zmq_socket(3)中指定的socket的類型。
Return value
執行成功時zmq_connect()會返回0。其它情況返回 -1, 並且設置errno為下列的值。
Errors
EINVAL
提供的節點不可用。
EPROTONOSUPPORT
不支持請求使用的傳輸協議。
ENOCOMPATPROTO
請求使用的傳輸協議和socket的類型不兼容。
ETERM
和給定的socket相連的ZMQ context 被終結了。
ENOTSOCK
提供的socket不可用。
EMTHREAD
沒有可用的I/O線程可以用來完成此任務。
Example
1 /* Create a ZMQ_SUB socket */
2
3 void *socket = zmq_socket (context, ZMQ_SUB); 4
5 assert (socket); 6
7 /* Connect it to an in-process transport with the address 'my_publisher 8
9 int rc = zmq_connect (socket, "inproc://my_publisher"); 10
11 assert (rc == 0); 12
13 /* Connect it to the host server001, port 5555 using a TCP transport */
14
15 rc = zmq_connect (socket, "tcp://server001:5555"); assert (rc == 0);
See also
zmq_bind(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