ZeroMQ 官方地址 : http://api.zeromq.org/4-0:zmq-bind

zmq_bind(3)       ZMQ Manual - ZMQ/3.2.5

Name

zmq_bind - 绑定一个socket,接收发来的链接请求

Synopsis

int zmq_bind (void *socket, const char *endpoint);

Description

zmq_bind() 函数绑定把一个socket绑定在一个本地的网络节点(endpoint)上,然后开始接收连接到本节点上的其它节点发送来的消息。

节点是一个字符串,它包括一个协议://然后跟着一个address。协议为下列给定的协议中的一个。address指定了进行绑定的地址。

ØMQ支持以下几种传输协议:

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类型。

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[]函数之后,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协议。

 /* Create a ZMQ_PUB socket */

 void *socket = zmq_socket (context, ZMQ_PUB);

 assert (socket);

 /* Bind it to a in-process transport with the address 'my_publisher' */

 int rc = zmq_bind (socket, "inproc://my_publisher");

 assert (rc == );

 /* Bind it to a TCP transport on port 5555 of the 'eth0' interface */

 rc = zmq_bind (socket, "tcp://eth0:5555"); assert (rc == );

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

ZeroMQ接口函数之 :zmq_bind - 绑定一个socket的更多相关文章

  1. ZeroMQ接口函数之 :zmq_send – 在一个socket上发送一个消息帧

    ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-send zmq_send(3)              ØMQ Manual - ØMQ/4.1.0 Name ...

  2. ZeroMQ接口函数之 :zmq - 0MQ 轻量级消息传输内核

    官方网址:http://api.zeromq.org/4-0:zmq zmq(7) 0MQ Manual - 0MQ/3.2.5 Name zmq – ØMQ 轻量级消息传输内核 Synopsis # ...

  3. ZeroMQ接口函数之 :zmq_ipc – ZMQ本地进程间通信传输协议

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ——————————————————————————————————— ...

  4. ZeroMQ接口函数之 :zmq_connect - 由一个socket创建一个对外连接

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_connect zmq_connect(3)  ØMQ Manual - ØMQ/3.2.5 Name zmq_c ...

  5. ZeroMQ接口函数之 :zmq_disconnect - 断开一个socket的连接

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_disconnect zmq_disconnect(3) ØMQ Manual - ØMQ/3.2.5 Name ...

  6. ZeroMQ接口函数之 :zmq_msg_recv - 从一个socket中接受一个消息帧

    ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq_msg_recv zmq_msg_recv(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_ ...

  7. ZeroMQ接口函数之 :zmq_msg_send – 从一个socket发送一个消息帧

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_msg_send zmq_msg_send(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_ ...

  8. ZeroMQ接口函数之 :zmq_recv – 从一个socket上接收一个消息帧

    ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_recv zmq_recv(3)        ØMQ Manual - ØMQ/4.1.0 Name zmq_r ...

  9. ZeroMQ接口函数之 :zmq_recvmsg – 从一个socket上接收一个消息帧

    ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-recvmsg zmq_recvmsg(3)         ØMQ Manual - ØMQ/4.1.0 Nam ...

随机推荐

  1. 理解Kalman滤波的使用

    Kalman滤波简介 Kalman滤波是一种线性滤波与预测方法,原文为:A New Approach to Linear Filtering and Prediction Problems.文章推导很 ...

  2. [NHibernate]Parent/Child

    系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) [NHibernate ...

  3. [Nhibernate]二级缓存(一)

    目录 写在前面 文档与系列文章 二级缓存 Nhibernate二级缓存提供程序 一个例子 总结 写在前面 上篇文章介绍了nhibernate中一级缓存的相关内容,一级缓存过期时间和ISession对象 ...

  4. Top 15 Java Utility Classes

    In Java, a utility class is a class that defines a set of methods that perform common functions. Thi ...

  5. iOS为真机调试增加scribble来定位野指针

    尽管在ARC中,野指针出现的频率已经大大降低了,但是仍然会有野指针困扰着我们. 在模拟器调试中,我们可以开启scribble或者zombieObject来将已经释放的内存填充无意义的内容,能够将一些非 ...

  6. plist中的中文数据

    直接打印那个值就会显示中文了,你打引整个 plist 文件的内容,则会显示出 NSUTF8 编码后的数据:请放心使用:

  7. 启动apache和tomcat端口被占用解决办法

    1,打开控制台,使用命令 netstat -aon|findstr 8090  找出端口被占用的进程, 2,使用 taskkill -f -pid 4116(进程id)杀掉当前占用端口的进程

  8. 构建高可用ZooKeeper集群(转载)

    ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分布式基础服务.由于 Zo ...

  9. cf595d

    题意:给出一个轮子,上面有一个随着它转动的传感器在圆周上,给出一个指定距离m,和轮子向前行进的速度v以及轮子的半径r.问让传感器通过该距离最少需要多少时间. 分析:首先我们列出传感器行进距离与时间的轮 ...

  10. Websocket通讯简析

    什么是Websocket Websocket是一种全新的协议,不属于HTTP无状态协议,协议名为"ws",这意味着一个Websocket连接地址会是这样的写法:ws://**.We ...