语言: Python ,支持 Python 2.6 - 3.X
平台: Posix
特色:
API 使用简单。
不用像 Unix domain socket 那样需要共享文件系统,只需要知道对方的 nlpid 就可以通信。而且多对多通信不需要为每个通信方创建 socket ,只需要一个就可以(类似于 UDP ,支持迭代服务器模型)。
可以跨 Linux 的 network namespaces ,只要你在调用 unshare 之前先创建好 netlink socket 就可以。
import unittest
import os
from procslink import RPCPeer
class HelloWorldTestCase(unittest.TestCase):
def test_hello_world(self):
pid = os.fork()
if pid == 0:
class MyAPI(object):
def hello(self, name):
s = "Hello, %s!" % name
print(s)
return s
rpc_server = RPCPeer()
print("Server's nl_pid is %s." % rpc_server.nl_pid)
rpc_server.register_functions_in_object(MyAPI())
rpc_server.run_server_forever()
else:
rpc_client = RPCPeer()
rpc_client.talk_to(pid).hello("Rayson Zhu")
os.wait4(pid, 0)
许可证: MIT
Pip 安装:
sudo pip install procslink