ZeroMQ接口函数之 :zmq_inproc – ØMQ 本地进程内(线程间)传输方式

简介:

Name

zmq_inproc – ØMQ 本地进程内(线程间)传输方式

Synopsis

进程内传输方式意味着在共享ZMQ context的线程间通过内存方式传输数据。
在使用inproc方式进行传输时,不需要使用I/O线程。所以呢,如果你使用ZMQ context进行进程内消息传送,你可以初始化这个context的I/O线程为0。参见zmq_init(3)获得更多细节。

Addressing

一个ZMQ终结点包括transport://跟着一个address(例如:inproc://someaddress)。Transport指明了要使用的底层协议。address指明了要连接的传输地址。

对于进程内传输,传输方式是inproc,address的含义在下面进行定义。

  为一个socket分配一个地址

当使用zmq_bind()函数给一个socket分配一个本地地址的时候,终结点必须是一个任意的唯一字符串,用来创建一个文件。这个文件名必须是在与这个socket关联的ZMQ context上是唯一的,而且长度不能大于256字节。对于这个文件名的格式没有任何限制。

  连接一个socket

当使用zmq_connect()函数连接一个使用inproc传输方式的socket端时,终结点必须是一个唯一表示一个文件名的字符串,作为用来连接的文件名。这个文件名在被连接时,必须保证已经被相同context上的一个socket创建了。

Examples

  给一个socket分配一个本地地址

复制代码
//  Assign the in-process name "#1"
rc = zmq_bind(socket, "inproc://#1");
assert (rc == 0);
//  Assign the in-process name "my-endpoint"
rc = zmq_bind(socket, "inproc://my-endpoint");
assert (rc == 0);
复制代码

  连接一个socket

复制代码
//  Connect to the in-process name "#1"
rc = zmq_connect(socket, "inproc://#1");
assert (rc == 0);
//  Connect to the in-process name "my-endpoint"
rc = zmq_connect(socket, "inproc://my-endpoint");
assert (rc == 0);
复制代码

See also

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

 


本文转自郝峰波博客园博客,原文链接:http://www.cnblogs.com/fengbohello/p/4328772.html,如需转载请自行联系原作者


相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
消息中间件 Unix Linux
【ZMQ polling机制】ZMQ异步接收机制以及与epoll/select的对比分析
【ZMQ polling机制】ZMQ异步接收机制以及与epoll/select的对比分析
50 0
|
消息中间件 Linux
IPC——消息队列
Linux进程间通信——使用消息队列 下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处。有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信——使用命名管道   一、什么是消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。
1334 0
|
8月前
|
消息中间件 存储 微服务
RPC 和消息队列的区别
RPC 和消息队列的区别
186 0
|
4月前
|
消息中间件
rpc消息队列-远程函数调用
rpc消息队列-远程函数调用
37 1
|
消息中间件 负载均衡 网络协议
ZMQ/ZeroMQ的三种消息模式
ZMQ/ZeroMQ的三种消息模式
ZMQ/ZeroMQ的三种消息模式
|
Java Android开发
Binder机制中的收发消息及线程池
在阅读《深入理解android内核设计思想》的有关Binder章节的时候,发现书中有部分问题没有很清晰的描述清楚,所以这篇文章主要是针对收发消息的过程和线程池这两个知识点详细展开一下。注意本篇文章并不是介绍Binder机制,而是针对它的两个小细节深入探讨一下,所以建议大家先详细的阅读《深入理解android内核设计思想》中有关Binder章节后对照阅读本篇文章。
313 0
|
消息中间件 关系型数据库 MySQL
消息队列、socket(UDP)实现简易聊天系统
  前言:   最近在学进程间通信,所以做了一个小项目练习一下。主要用消息队列和socket(UDP)实现这个系统,并数据库存储数据,对C语言操作数据库不熟悉的可以参照我的这篇博客:https://www.cnblogs.com/liudw-0215/p/9593414.html,所有代码提交我的Github上,地址:https://github.com/ldw0215/Chat-System.git,可以自行下载,然后make一下就可以了。
1581 0

相关实验场景

更多