ZeroMQ接口函數之 :zmq_tcp – 使用TCP協議的ØMQ網絡單播協議


ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-tcp

zmq_tcp(7)          ØMQ Manual - ØMQ/4.1.0

Name

zmq_tcp – 使用TCP協議的ØMQ網絡單播協議

Synopsis

TCP是一個應用廣泛、可靠、單播的傳輸協議。當在一個網絡中使用ZMQ進行分布式的應用連接時,應該優先使用TCP傳輸協議。

Addressing

一個ØMQ網絡節點是一個字符串,格式為transport://然后緊跟着一個address。transport指明底層使用的協議。address參數指定了傳輸協議要連接到的地址。

對於TCP傳輸協議來說,transport參數就是tcp,下面解釋了address部分的含義。

給一個socket設置一個本地地址

當使用zmq_bind()函數給一個socket分配一個TCP本地地址的時候,網絡節點應解釋為一個接口后面加上冒號和要使用的TCP端口號。

一個地址接口的可能會以下面的形式被指定:

  ● 通配符*,表示所有可以使用的接口地址

  ● 用數字形式表示的分配給接口的IPV4或IPV6地址

  ● 被操作系統定義的可移植的接口名稱

TCP端口號可以被如下方式指定:

  ● 在POSIX系統中,通常是1024以上的數字

  ● 通配符*,表示系統分配的臨時端口

當使用臨時端口時,調用者需要使用ZMQ_LAST_ENDPOINT屬性返回實際被分配的端口號。參見zmq_getsockopt(3)函數獲取更多細節。

Connecting a socket

當使用zmq_connect()函數以TCP方式連接一個對等的地址時,節點應當被視為對等地址后面加上冒號和TCP端口號。

一個對等資質可以被下面任何一種方式指定。

  ● 對等的DNS名稱

  ● 以數字形式表示的IPV4或者IPV6形式的地址

注意:ZeroMQ Message Transport Protocol (ZMTP)使用的TCP描述文檔是http://rfc.zeromq.org/spec:15

Examples

  給socket分配一個本地地址

// TCP port 5555 on all available interfaces
rc = zmq_bind(socket, "tcp:/// :5555"); assert (rc == 0); // TCP port 5555 on the local loop-back interface on all platforms
rc = zmq_bind(socket, "tcp://127.0.0.1:5555"); assert (rc == 0); // TCP port 5555 on the first Ethernet network interface on Linux
rc = zmq_bind(socket, "tcp://eth0:5555"); assert (rc == 0);

  連接一個socket

// Connecting using an IP address
rc = zmq_connect(socket, "tcp://192.168.1.1:5555"); assert (rc == 0); // Connecting using a DNS name
rc = zmq_connect(socket, "tcp://server1:5555"); assert (rc == 0);

See also

zmq_bind(3)  zmq_connect(3)  zmq_pgm(7)  zmq_ipc(7)  zmq_inproc(7)  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.

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM