ZeroMQ接口函数之 :zmq_send_const – 从一个socket上发送一个固定内存数据
ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html
—————————————————————————————————————
ZeroMQ 官方地址:http://api.zeromq.org/4-1:zmq-send-const
zmq_send_const(3) ØMQ Manual - ØMQ/4.1.0
Name
zmq_send_const – 从一个socket上发送一个固定内存数据
Synopsis
int zmq_send_const (void *socket, void *buf, size_t len, int flags);
Description
zmq_send_const()函数会将通过buf参数和len参数创建的消息添加到socket的消息队列中。消息内存被认为是一个固定的空间,并且不会以任何方式被复制或者被释放。flags参数是下面定义的标志的组合:
ZMQ_DONTWAIT
当一些socket类型(DEALER、PUSH)由于对端不可用(或者所有的对端都到达高水位线),此选项指定本次的操作以非阻塞方式执行。如果无法添加到socket的消息队列中,zmq_send_const()函数会执行错误,并设置errno的值为EAGAIN。
ZMQ_SNDMORE
指明当前发送的消息是个多帧消息,并且还会有次消息的更多帧要发送。参见下面对多消息的描述章节,以获取更多信息。
成功的调用zmq_send_const()函数并不能说明消息已经被发送到网络上,而是消息已经被添加到了消息队列上,并且ZMQ将对这个消息负责。
Multi-part messages
一个ZMQ消息由一个或多个消息帧组成。ZMQ保证自动交付这个消息:一端会完全接收这个消息,或者完全不接收这个消息。消息的帧的总数没有限制,只要内存够用就行。
应用进程在发送多帧消息的时候,出了发送最后一帧的时候,必须要使用ZMQ_SNDMORE标志。
Return value
如果函数zmq_send_const()执行成功,则返回消息的字节数。否则,函数返回 -1,并且设置errno的值为下列定义的值。
Errors
EAGAIN
非阻塞模式发送时,消息在此刻无法被发送。
ENOTSUP
zmq_send_const()函数不支持此socket的类型。
EFSM
zmq_send_const()操作此刻无法在这个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_const (socket, "ABC", , ZMQ_SNDMORE);
assert (rc == );
rc = zmq_send_const (socket, "DEFGH", , ZMQ_SNDMORE);
assert (rc == );
/* Final part; no more parts to follow */
rc = zmq_send_const (socket, "JK", , );
assert (rc == );
See also
zmq_send(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
翻译:风波
mail : fengbohello@qq.com
ZeroMQ接口函数之 :zmq_send_const – 从一个socket上发送一个固定内存数据的更多相关文章
- ZeroMQ接口函数之 :zmq_send – 在一个socket上发送一个消息帧
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-send zmq_send(3) ØMQ Manual - ØMQ/4.1.0 Name ...
- ZeroMQ接口函数之 :zmq_sendmsg – 从一个socket上发送一个消息帧
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-sendmsg zmq_sendmsg(3) ØMQ Manual - ØMQ/4.1.0 Name ...
- 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 ...
- ZeroMQ接口函数之 :zmq_recvmsg – 从一个socket上接收一个消息帧
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-recvmsg zmq_recvmsg(3) ØMQ Manual - ØMQ/4.1.0 Nam ...
- ZeroMQ接口函数之 :zmq_z85_encode – 使用Z85算法对一个二进制秘钥进行加密,输出可打印的文本
ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq-z85-encode zmq_z85_encode(3) ØMQ Manual - ØMQ/4. ...
- 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_ ...
- ZeroMQ接口函数之 :zmq_setsockopt –设置ZMQ socket的属性
ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html 本文地址 :http://www.cnblogs.com/fengbo ...
- ZeroMQ接口函数之 :zmq_proxy_steerable – 以STOP/RESUME/TERMINATE控制方式开启内置的ZMQ代理
ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ——————————————————————————————————— ...
- 用java的socket来发送一个类
用socket可以简单的发送一些文本信息,太复杂的可能发送不了,比如图片音频可能要用到http来发送和接收了.最基本的使用socket来发送一个字符串,但有的时候我们希望能够发送一个类,这样serve ...
随机推荐
- Hive时间操作[转]
时间字段格式化 from_unixtime(unix_timestamp(VisitTime),'yyyy-MM-dd') 日期函数UNIX时间戳转日期函数: from_unixtime语法: f ...
- Robots.txt - 禁止爬虫(转)
Robots.txt - 禁止爬虫 robots.txt用于禁止网络爬虫访问网站指定目录.robots.txt的格式采用面向行的语法:空行.注释行(以#打头).规则行.规则行的格式为:Field: v ...
- ThinkPhp 验证码不显示图片
验证码不显示原因分析: 1.先确保是否开启了 gd库 2.页面是否存在bom头 3.导入的ORG.Util.Image是否存在 4.入口文件中是否有define('APP_DEBUG', TRUE); ...
- 深入理解javascript原型和闭包(8)——简述【执行上下文】上
什么是“执行上下文”(也叫做“执行上下文环境”)?暂且不下定义,先看一段代码: 第一句报错,a未定义,很正常.第二句.第三句输出都是undefined,说明浏览器在执行console.log(a)时, ...
- 【09-03】java泛型学习笔记
静态方法的泛型 /** * @description 静态方法的泛型无法使用类定义的泛型,因为类在实例化时才确定具体的泛型类,因此静态方法要使用泛型需要使用泛型方法的方式 */ public clas ...
- [Algorithm] 字符串匹配算法——KMP算法
1 字符串匹配 字符串匹配是计算机的基本任务之一. 字符串匹配是什么?举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串& ...
- XHR——XMLHttpRquest对象
创建XMLHttpRequest对象 与之前众多DOM操作一样,创建XHR对象也具有兼容性问题:IE6及之前的版本使用ActiveXObject,IE7之后及其它浏览器使用XMLHttpRequest ...
- iOS开发——高级篇——远程音频、视频播放
一.远程音频播放(<AVFoundation/AVFoundation.h>) #import <AVFoundation/AVFoundation.h> /** 播放器 */ ...
- 在vs中char类型的实参与LPCWSTR类型的形参类型不兼容怎么解决?
今天在做 COS脚本解释器的时候,遇到了这个问题 先了解一下 LPCTCHAR 这个东东 LPCTSTR用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏,那么 ...
- Android 如何在 ListView 中更新 ProgressBar 进度
=======================ListView原理============================== Android 的 ListView 的原理打个简单的比喻就是: 演员演 ...