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. 旋转图css3

    <!doctype html><html> <head>  <meta charset="UTF-8">  <title> ...

  2. 要想提高PHP的编程效率,你必须遵守的原则

    用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说 ...

  3. 每隔一秒自动执行函数(JavaScript)

    http://www.cnblogs.com/xlx0210/archive/2010/03/19/1689497.html 1. setInterval() ——每隔一秒自动执行方法,setInte ...

  4. Spring Boot 系列教程15-页面国际化

    internationalization(i18n) 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式. 它要求从产品中抽离所有地域语言,国家/地区和 ...

  5. web工程中地址的写法

    硬盘地址用\   如:c:\\ 虚拟地址用 / /* 只要是写地址,建议大家最好以"/"开头,/到底代表什么呢? 1.看这个地址是给服务器用的,还是给浏览器用的. 2.如果给浏览器 ...

  6. POJ3321/Apple tree/(DFS序+线段树)

    题目链接 Apple Tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9692 Accepted: 3217 Descr ...

  7. JVM垃圾收集算法——分代收集算法

    分代收集算法(Generational Collection): 当前商业虚拟机的垃圾收集都采用"分代收集算法". 这种算法并没有什么新的思想,只是根据对象存活周期的不同将内存划分 ...

  8. 河南多校大一训练赛 G 硬币

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125004#problem/G 密码:acm Description 宇航员Bob有一天来到火星上,他有收集硬币 ...

  9. Datatable.select() 方法的使用

    文章为转载 ,原文地址 DataTable是我们在进行开发时经常用到的一个类,并且经常需要对DataTable中的数据进行筛选等操作,下面就介绍一下Datatable中经常用到的一个方法--Selec ...

  10. 英文SEO外部链接资源收集之常用的footprints

      inurl:/privacy-policy "Using Article Directory plugin"inurl:/terms "Using Article D ...