ICE-python学习笔记(一)——ice demo

早过忘川 提交于 2019-12-18 07:22:26

基础

官网有个demo,大概意思就是:

先写一个.ice的文件:(Printer.ice)

module Demo
{
    interface subjectMatter
    {
        string printString(string s);
    }
}

然后运行下面的语句生成文件:

slice2py Printer.ice

生成如下文件:

然后运行ICE的Service和Client就可以了

Service.py:

import sys, Ice
import Demo
 

	
class PrinterI(Demo.Printer):
	def printString(self,s,current=None):
		print(s)
		return len(s)

with Ice.initialize(sys.argv) as communicator:
    adapter = communicator.createObjectAdapterWithEndpoints("SimplePrinterAdapter", "default -p 10000")
    object = PrinterI()
    adapter.add(object, communicator.stringToIdentity("SimplePrinter"))
    adapter.activate()
    communicator.waitForShutdown()

Client.py:

import sys, Ice
import Demo
 
	
	
	
with Ice.initialize(sys.argv) as communicator:
    base = communicator.stringToProxy("SimplePrinter:default -p 10000")
    printer = Demo.PrinterPrx.checkedCast(base)
    if not printer:
        raise RuntimeError("Invalid proxy")
 
    print(printer.printString("Hello World!"))

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!