当初项目选型时,在Ice,Net Remoting,omniORB徘徊许久,最终还是选用了Ice。这是omniORB的一个简单用例。
idl接口描述
module messenger
{
interface SecretMessage
{
string get_message();
};
};
服务端实现:
#coding=utf-8
import messenger, messenger__POA
#定义业务服务对象
class OurSecretMessage(messenger__POA.SecretMessage):
def __init__(self, secret_message):
self.secret_message = secret_message
def get_message(self):
lst=[]
for i in range(1000):
lst.append("this is %d"%(i+1))
return ",".join(lst)
#初始化业务服务对象实例
ourMessage =OurSecretMessage("Hello,omniORBpy!")
#初始化ORA POA POA_MANAGER对象
import sys
from omniORB import CORBA
sys.argv.extend(("-ORBInitRef","NameService=corbaname::localhost"))
orb = CORBA.ORB_init(sys.argv,