1. 程式人生 > >ZeroMQ介面函式之 :zmq_ipc – ZMQ本地程序間通訊傳輸協議

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 <[email protected]>, Martin Sustrik <[email protected]> and Martin Lucina <[email protected]>.

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 : [email protected]