Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2005-11-21 08:20:36
Size: 1160
Editor: qingfeng
Comment:
Revision 3 as of 2005-11-21 08:28:08
Size: 1229
Editor: ZoomQuiet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Kenosis 构建p2p网络的基础框架
Line 2: Line 3:
    * 一个分布式的p2p RPC系统,构建XMLRPC之上。(个人体会:构建p2p网络的基础框架)     * 一个分布式的p2p RPC系统,构建XMLRPC之上。
Line 6: Line 7:
= 示例代码 = == 示例代码 ==
Line 33: Line 34:
= 主站点 = == 主站点 ==
Line 35: Line 36:

== 反馈 ==
 * Bt 那样儿的p2p 交流?!?!-- ZoomQuiet

Kenosis 构建p2p网络的基础框架

Kenosis

  • 一个分布式的p2p RPC系统,构建XMLRPC之上。
  • 零瑕疵软件。(这个可能夸大了一点:))
  • 高度兼容。(纯python编写,已在linux,mac os等平台做过测试)

示例代码

>>> import kenosis
>>> n = kenosis.Node(bootstrapNetAddress=None)
>>> n.port()
5005
>>> n2 = kenosis.Node(bootstrapNetAddress=None)
>>> n2.bootstrap("localhost:%s" % n.port())
>>> n2.port()
5006
>>> n2.rpc(nodeAddress=n.nodeAddress()).kenosis.ping()
address.NodeAddress(numericAddress=0x11fe53239e10f6c7b21d9a9aaf37a2f37cc34abe)
>>> class Handler:
...     def returnInt(self, arg):
...         return int(arg)
...
>>> n.registerNamedHandler(name="test", handler=Handler())
>>> n2.rpc(nodeAddress=n.nodeAddress()).test.returnInt(42)
42
>>> n2.rpc(nodeAddress=n.nodeAddress()).test.returnInt(1234321)
1234321
>>> n.rpc(nodeAddress=n2.nodeAddress()).kenosis.ping()
address.NodeAddress(numericAddress=0x8b6eb0433be6a2751493ef39ac5a7236182e20b3)

For more examples of usage look at kenosis/test.py

主站点

http://kenosis.sourceforge.net/

反馈

  • Bt 那样儿的p2p 交流?!?!-- ZoomQuiet

KenoSis (last edited 2009-12-25 07:17:25 by localhost)