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版本的更多相关文章

  1. 第四篇.python的基础

    目录 第四篇.python基础01 1. 变量 2. 常量 3. python变量内存管理 4. 变量的三个特征 5. 花式赋值 6. 注释 7. 数据类型基础 8. 数字类型 9. 字符串类型 10 ...

  2. 【Python之路】第四篇--Python基础之函数

    三元运算 三元运算(三目运算),是对简单的条件语句的缩写 # 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 “值1” 赋值给result变量,否则,将“值2” ...

  3. 第三十四篇 Python面向对象之 反射(自省)

    什么是反射? 反射的概念是由Smith在1982年提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语 ...

  4. 第四篇 Python循环

    While 循环 For 循环

  5. Python笔记_第四篇_高阶编程_进程、线程、协程_5.GPU加速

    Numba:高性能计算的高生产率 在这篇文章中,笔者将向你介绍一个来自Anaconda的Python编译器Numba,它可以在CUDA-capable GPU或多核cpu上编译Python代码.Pyt ...

  6. Python之路【第十四篇】:AngularJS --暂无内容-待更新

    Python之路[第十四篇]:AngularJS --暂无内容-待更新

  7. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

  8. python从零开始 -- 第2篇之python版本差异

    python从零开始 -- 第2篇之python版本差异 第0篇开始,咱们就说选择 python 3.x,一般来说,咱们面临选择的时候总是想了解更多一点,并且版本之间的对比能引申出很多有意思的故事和知 ...

  9. [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

    [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...

随机推荐

  1. Openlayer 3 图层列表控件(自定义)

    <body><div id="map"></div><div id="layerControl" class=&quo ...

  2. NBUT 1120 线段树

    input q n q行 F a b或者Q a b output face left face top face right 可以用map或者线段树做 //map #include<cstdio ...

  3. iOS xcode工程了解

    一个xcode工程默认是在一个主线程的,有需要可以创建分线程 判断是否是主线程: NSThread *thread1=[NSThread currentThread]; if ([red isMain ...

  4. /var/lib/mysql/mysql.sock错误的解决办法

    问题描述: 使用mysql -uroot -p登录出现找不到 /var/lib/mysql/mysql.sock或者被使用的问题. 可以用如下命令登录:mysql -p --socket=/tmp/m ...

  5. MFC DLL中导出函数模板

    //my.h struct AFX_EXT_CLASS B { }; struct AFX_EXT_CLASS C { }; class AFX_EXT_CLASS A { public: templ ...

  6. Python中元素定位探讨

    以下以阿里云(10.10.1.11)系统中考试答题为例进行了python脚本的编写研究.模糊定位(定位一些动态值): ————————————————————————————————————————— ...

  7. QT修改默认的滚动条样式

    这几天写一个类似于悬浮窗的小程序,可是qt自带的滚动条实在难看,经过多番查找终于找到一个类似于qq聊天窗口的滚动条,废话不说上代码.希望能帮到大家 1.写入到文件中,新建个xx.qss,然后复制一下内 ...

  8. sites

    search http://213.240.44.13/ http://1.179.252.95/

  9. hdu_5723_Abandoned country(最小生成树)

    题目链接:hdu_5723_Abandoned country 题意: 让你求最小生成树的花费,然后求任给两点的期望路程 题解: 最小生成树大家都会求,Kruskal这里要改改,因为后面要求任意两点的 ...

  10. 查看光纤卡wwn号【转载】

    转自:查看光纤卡wwn号windows操作系统下_朝晖_新浪博客http://blog.sina.com.cn/s/blog_4ce992f40101dxyv.html 查看光纤卡wwn号window ...