ICE第四篇-----python版本
ice文件:
module Modipplace {
interface Ipplace{
string iptoplace(string s);
};
};
server文件:
ipplace_interface(ip):
省略
class IpplaceI(Modipplace.Ipplace):
def iptoplace(self,ip,current=None):
result = ipplace_interface(ip)
return result
if __name__ == "__main__":
reload(sys)
sys.setdefaultencoding("utf-8")
status = 0
ic = None
try:
ic = Ice.initialize(sys.argv)
adapter = ic.createObjectAdapterWithEndpoints("ipplaceAdapter", "tcp -p 5100")
object = IpplaceI()
adapter.add(object,ic.stringToIdentity("simpleIpplace"))
adapter.activate()
print "ice actuvated"
ic.waitForShutdown()
except:
traceback.print_exc()
status = 1
if ic:
# Clean up
try:
ic.destroy()
except:
traceback.print_exc()
status = 1
sys.exit(status)
client文件:
import sys,Ice
import Modipplace
if( len(sys.argv)!=2 ):
print "error , the usage is : ",sys.argv[0]," ip address"
exit(1)
ic=Ice.initialize(sys.argv)
base=ic.stringToProxy("simpleIpplace:tcp -p 5100")
ipplacer=Modipplace.IpplacePrx.checkedCast(base)
if not ipplacer:
raise RuntimeError("Invalid proxy")
print sys.argv[1],type(sys.argv[1])
place = ipplacer.iptoplace(sys.argv[1])
print "place: ",place
问题;这个是同步的情况,异步的情况很难写阿
参考:
两个简单的示例
http://blog.csdn.net/cp62/article/details/3502731
http://blog.sina.com.cn/s/blog_5fddeaac0101266r.html
ICE第四篇-----python版本的更多相关文章
- 第四篇.python的基础
目录 第四篇.python基础01 1. 变量 2. 常量 3. python变量内存管理 4. 变量的三个特征 5. 花式赋值 6. 注释 7. 数据类型基础 8. 数字类型 9. 字符串类型 10 ...
- 【Python之路】第四篇--Python基础之函数
三元运算 三元运算(三目运算),是对简单的条件语句的缩写 # 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 “值1” 赋值给result变量,否则,将“值2” ...
- 第三十四篇 Python面向对象之 反射(自省)
什么是反射? 反射的概念是由Smith在1982年提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语 ...
- 第四篇 Python循环
While 循环 For 循环
- Python笔记_第四篇_高阶编程_进程、线程、协程_5.GPU加速
Numba:高性能计算的高生产率 在这篇文章中,笔者将向你介绍一个来自Anaconda的Python编译器Numba,它可以在CUDA-capable GPU或多核cpu上编译Python代码.Pyt ...
- Python之路【第十四篇】:AngularJS --暂无内容-待更新
Python之路[第十四篇]:AngularJS --暂无内容-待更新
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- python从零开始 -- 第2篇之python版本差异
python从零开始 -- 第2篇之python版本差异 第0篇开始,咱们就说选择 python 3.x,一般来说,咱们面临选择的时候总是想了解更多一点,并且版本之间的对比能引申出很多有意思的故事和知 ...
- [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境
[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...
随机推荐
- cakephp2.3.0 lib中的Model.php有一个bug
1. cakephp2.3.0 lib中的Model.php有一个bug, 加上 !empty($db->config['prefix']) 这个判断更好.有时候会少进行一次 new PDO() ...
- GCD is Funny
GCD is Funny Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Pro ...
- Hibernate 系列教程9-自关联
自关联:本质还是原来双向一对多,原来要配置两个类,现在全部都配置在一个类里面 Employee public class Employee { private Long id; private Str ...
- 用for、while、do-while循环输出10句“好好学习,天天向上!”
#include "stdio.h" void main() { int time; ;time<=;time++) printf("%d.好好学习,天天向上!\n ...
- android 市场发布应用小结
1:360平台发布应用 网址:http://dev.app.360.cn/ 2:腾讯应用宝 平台发布应用: 地址:http://op.open.qq.com/ (未审核通过的不能更新版本) 3:发布 ...
- 编译filezilla
编译zilla的时候,需要用到与mysql连接的地方(这里先忽略zila的编译) VC听过mysql connector c++, 下载了1.1.3版本,然后飞安装包,之后从官网上下载boost 把库 ...
- eclipse快捷键(转载)
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...
- Material Design设计的开源代码
https://github.com/telly/FloatingAction http://www.csdn.net/article/2014-11-21/2822753-material-desi ...
- foreach的2个细节!
人生不应该在同第一个地方摔第三次.... 1. foreach的时候一定要对要遍历的元素进行null判定. 2. foreach中不要对遍历的元素进行增删改操作(问题严重) 还有一个细节: 使用了的流 ...
- WebDriver(Selenium2) 常见异常及处理方法
http://uniquepig.iteye.com/blog/1568197 Exception NoSuchElementException Solutions 1. Check the l ...