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

简介:

zmq_ipc(7)          ØMQ Manual - ØMQ/3.2.5

Name

zmq_ipc – ZMQ本地进程间通信传输协议

Synopsis

进程间传输采用与系统相关的IPC机制进行本地进程间的消息通信。

进程间传输方式目前只在提供UNIX定义的socket系统上完全的实现了

Addressing

一个终结点包括transport://跟着一个address (对于IPC也就是 ipc://address)。transport指定了要使用的底层的系统协议。address指定了需要连接的指定地址。

对于进程间的传输,transport指的是ipc,address部分在下面进行定义。

绑定一个socket

当使用zmq_bind()函数以ipc传输方式绑定一个本地socket的时候,终结点应该是一个任意字符串的文件名,能够唯一标志将要创建的文件。文件名应该是在使用ipc进行操作是,这个操作系统名称空间中唯一的。这个文件名还必须满足操作系统对正常文件名在格式和长度上的限制。

当地址是*的时候,zmq_bind()函数会生成一个临时的文件名。调用者需要使用ZMQ_LAST_ENDPOINT属性获取此文件名。查看zmq_getsockopt(3)函数获取更多细节。

所有绑定在一个已经存在的文件名的动作都会被重载。在这种情况下,ipc协议和tcp或者inproc协议是不一样的。

连接一个socket

当使用zmq_connect()函数向一个对端发起ipc连接的时候,终结点需要是一个能够唯一标志一个文件名的任意字符串。这个文件名必须是已经由操作系统创建,并且被分配给了一个通过zmq_bind()操作过的socket。

Examples

  给一个socket分配一个地址

//  Assign the pathname "/tmp/feeds/0"
rc = zmq_bind(socket, "ipc:///tmp/feeds/0");
assert (rc == 0);

  连接一个socket

//  Connect to the pathname "/tmp/feeds/0"
rc = zmq_connect(socket, "ipc:///tmp/feeds/0");
assert (rc == 0);

See also

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


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


相关文章
|
6月前
|
网络协议 安全 Unix
深入剖析进程间通信:Unix 套接字、共享内存与IP协议栈的性能比较
深入剖析进程间通信:Unix 套接字、共享内存与IP协议栈的性能比较
211 2
|
6月前
|
Linux
进程等待(wait和wait函数)【Linux】
进程等待(wait和wait函数)【Linux】
116 0
|
2月前
|
Linux C语言
C语言 多进程编程(三)信号处理方式和自定义处理函数
本文详细介绍了Linux系统中进程间通信的关键机制——信号。首先解释了信号作为一种异步通知机制的特点及其主要来源,接着列举了常见的信号类型及其定义。文章进一步探讨了信号的处理流程和Linux中处理信号的方式,包括忽略信号、捕捉信号以及执行默认操作。此外,通过具体示例演示了如何创建子进程并通过信号进行控制。最后,讲解了如何通过`signal`函数自定义信号处理函数,并提供了完整的示例代码,展示了父子进程之间通过信号进行通信的过程。
|
2月前
|
编译器
【收藏】内核级利用通用Hook函数方法检测进程
【收藏】内核级利用通用Hook函数方法检测进程
|
3月前
|
Linux API
Linux源码阅读笔记07-进程管理4大常用API函数
Linux源码阅读笔记07-进程管理4大常用API函数
后端登录接口使用postman,无法接收返回数据,怎样解决,认真比较与原项目的代码,看看有没有写的不一样的,问题就能解决,不要多少写,根据postman的提示先找到错误的进程,看错误进程出现在那个进程
后端登录接口使用postman,无法接收返回数据,怎样解决,认真比较与原项目的代码,看看有没有写的不一样的,问题就能解决,不要多少写,根据postman的提示先找到错误的进程,看错误进程出现在那个进程
|
5月前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用合集之函数计算里中FC出现函数还没有执行完进程就关闭了是什么导致的
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
|
Linux Shell 程序员
【进程控制】进程程序替换的原理以及exec函数族
【进程控制】进程程序替换的原理以及exec函数族
|
6月前
|
存储 算法 Unix
【创建进程】fork函数与写时拷贝
【创建进程】fork函数与写时拷贝