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

zmq_send(3)              ØMQ Manual - ØMQ/4.1.0

Name

zmq_send – 在一个socket上发送一个消息帧

Synopsis

int zmq_send (void *socket, void *buf, size_t len, int flags);

Description

zmq_send()函数会根据buf参数指定的内存缓冲区和len参数指定的缓冲区数据长度创建一个消息,并将消息添加到消息队列中。flags参数是由下面的标志组合成的。

  ZMQ_DONTWAIT

    对于当socket不可使用就要执行阻塞方式的socket类型来说(DEALER,PUSH),此选项可以指定这个操作以非阻塞模式执行。如果无法添加消息到socket的消息队列上,zmq_send()函数将会执行失败并设置errno为EAGAIN。

  ZMQ_SNDMORE

    指出当前正在发送的消息是个多帧消息,并且接下来还会发送更多的消息。请参考下面关于多帧消息的段落,获取更多的细节。

成功的调用zmq_send()函数并不能说明消息已经被成功的发送到了网络上,只能说明消息被添加到了这个socket的消息队列上,并且ZMQ开始对其负责。

Multi-part messages

一个ZMQ消息由1个或多个ZMQ消息帧组成。ZMQ保证自动交付消息:一个ZMQ的消息要么所有的消息帧都被接收,要么一个都不会接收。一个消息中消息帧的总数没有限制,除非内存不够用。

当一个应用程序在发送多针消息的时候,出了最后一帧消息,其它的所有消息必须使用ZMQ_SNDMORE进行注明。

Return value

当zmq_send()函数执行成功时会返回发送的消息的字节数。否则返回 -1,并且设置errno的值为下列定义的值。

Errors

  EAGAIN

    函数正在使用非阻塞模式发送消息,并且socket当前不可用。

  ENOTSUP

    这个scoket的类型不支持zmq_send()函数的操作。

  EFSM

    zmq_send()函数当前无法对这个socket进行操作,因为这个socket处在与此操作不适当的状态。这个错误可能出现在那些在几种状态之间进行切换的socket上,比如ZMQ_REP。请参照zmq_socket(3)函数部分的消息模式部分以获取更多信息。

  ETERM

    与给定的socket向关联的context被终结了。

  ENOTSOCK

    参数提供的socket不可用。

  EINTR

    此次操作被系统信号中断了。

  EHOSTUNREACH

    此消息不能被路由。

Example

  发送一个多帧消息

/* Send a multi-part message consisting of three parts to socket */
rc = zmq_send (socket, "ABC", , ZMQ_SNDMORE);
assert (rc == );
rc = zmq_send (socket, "DEFGH", , ZMQ_SNDMORE);
assert (rc == );
/* Final part; no more parts to follow */
rc = zmq_send (socket, "JK", , ); assert (rc == );

See also

zmq_send_const(3)  zmq_recv(3)  zmq_socket(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

ZeroMQ接口函数之 :zmq_send – 在一个socket上发送一个消息帧的更多相关文章

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

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

  2. 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 ...

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

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

  4. ZeroMQ接口函数之 :zmq_send_const – 从一个socket上发送一个固定内存数据

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

  5. 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_ ...

  6. 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_ ...

  7. ZeroMQ接口函数之 :zmq_setsockopt –设置ZMQ socket的属性

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html 本文地址 :http://www.cnblogs.com/fengbo ...

  8. ZeroMQ接口函数之 :zmq_getsockopt – 获取ZMQ socket的属性

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html 本文地址 :http://www.cnblogs.com/fengbo ...

  9. ZeroMQ接口函数之 :zmq_socket – 创建ZMQ套接字

    ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ZeroMQ 官方地址:http://api.zeromq.org/4 ...

随机推荐

  1. 获取PHP文件绝对地址$_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别

    通常情况下,PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 都会返回 PHP 文件的完整路径(绝对路径)与文件名: <?php echo 'SCRIPT_F ...

  2. php 批量去空格和注释

    原理:php自带函数去注释和空格  => php_strip_whitespace如题,新建文件 re_note.php,将文件放入你要批量去除注释和空格的根目录.然后运行就行了 代码如下: & ...

  3. poj 并查集

    http://poj.org/problem?id=1611 水题 题意:就是找一共有多少个人感染了,0是感染学生的编号. #include <stdio.h> #include < ...

  4. Path之Data属性语法A命令

    <Path Width="300" Height="300" Fill="Red" Data="M 100,100 L 10 ...

  5. poj2492_A Bug's Life_并查集

    A Bug's Life Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 34947   Accepted: 11459 D ...

  6. mysql知识

    1.Limit 在语句的最后,起到限制条目的作用 Limit [offset,] [N] offset:偏移量 N:取出条目 例子:select * from stu limit 3,3; 2.左连接 ...

  7. python基础之文件操作

    对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...

  8. 图像处理中的matlab使用

    图像的矩阵表示 类和图像类型 虽然使用的是整数坐标, 但 MATLAB 中的像素值(亮度)并未限制为整数. 表 1-1 列出了 MATLAB 和图像处理工具箱为描述像素值而支持的各种类. 表中的前 8 ...

  9. vagrant学习笔记

    什么是vagrant简而言之,vagrant就是一个用来管理虚拟机文件的工具为什么要使用vagra如果经常玩虚拟机的话,就会知道,当你需要新建一个虚拟环境的时候,总是要重复的安装操作系统,以及操作系统 ...

  10. 1.GoldenGate 简单的一对一配置

    一,软件安装   源端和目标端均执行(只要修改相应的目录)   1.上传软件,放到ogg的安装目录,并解压   mkdir /home/oracle/ogg unzip ogg112101_fbo_g ...