免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8303 | 回复: 7
打印 上一主题 下一主题

Python与Ruby的通信 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-14 13:19 |只看该作者 |倒序浏览
最近一直研究SOAP,并且实现了Python与Ruby的互通,这里和大家分享一下~

Python为服务器端

  1. from ZSI import dispatch
  2. def getWelcome(name):
  3.         return "welcome " + name
  4. print "Starting server..."
  5. dispatch.AsServer(port=9000)
复制代码

Ruby为客户端

  1. require 'soap/rpc/driver'

  2. proxy = SOAP::RPC::Driver.new("http://localhost:9000",nil,'test')

  3. proxy.add_method('getWelcome','name')
  4. print proxy.getWelcome('interhui')
复制代码


这个是已经实现的,可是Ruby做服务器,Python做客户端却没有完全实现。

Ruby为服务端

  1. require 'soap/rpc/standaloneServer'

  2. class StringServant
  3.         def getWelcome(name)
  4.                 return "Welcome "+name
  5.         end
  6. end

  7. class Server < SOAP::RPC::StandaloneServer
  8.         def on_init
  9.                 servant = StringServant.new
  10.                 add_method(servant,'getWelcome','name')
  11.         end
  12. end

  13. if __FILE__ == $0
  14.         svr = Server.new('Server','','0.0.0.0',9000)
  15.         trap('INT') { svr.shutdown }
  16.         svr.start
  17. end
复制代码

Python为客户端

  1. from ZSI.client import Binding
  2. u = ''
  3. n= 'Server'
  4. b = Binding(url=u, ns=n, host='localhost', port=9000)
  5. result = b.getWelcome('inter')
  6. print result
复制代码


也请各路高手给予指点

论坛徽章:
0
2 [报告]
发表于 2006-03-14 21:46 |只看该作者
试过server和client同为Python或Ruby实现吗?

论坛徽章:
0
3 [报告]
发表于 2006-03-15 01:03 |只看该作者
Python的Server和Client,Ruby的Server和Client都能实现互通,现在就是Ruby做服务器,Python做客户端不能互通

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-08-11 06:20:00
4 [报告]
发表于 2010-02-22 23:46 |只看该作者
这个问题,我也碰到过,不过我是用 ruby 做服务器,客户端是AIX 下的 C 程序, 可以收到,但是gets 阻塞在那里了,后来就用read 指定长度,才可以!

两边都是ruby 服务器是没有问题的!

你这个可以这样实试看!

论坛徽章:
0
5 [报告]
发表于 2010-03-07 17:01 |只看该作者
不错啊!

论坛徽章:
0
6 [报告]
发表于 2010-04-09 10:13 |只看该作者
用Web Service(soap)来实现啊!

论坛徽章:
0
7 [报告]
发表于 2010-10-20 19:32 |只看该作者
感谢分享

论坛徽章:
0
8 [报告]
发表于 2010-12-16 02:26 |只看该作者
不错不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP