64 lines
2.5 KiB
Python
64 lines
2.5 KiB
Python
|
|
#!/users/dsc/bin/Python3
|
||
|
|
#-*-coding: UTF-8 -*-
|
||
|
|
import IcePy
|
||
|
|
import sys,traceback,Ice,os
|
||
|
|
import MessageICE_ice
|
||
|
|
import time
|
||
|
|
import logging
|
||
|
|
from logging.handlers import RotatingFileHandler
|
||
|
|
|
||
|
|
module_name="ptest1"#本模块名
|
||
|
|
target_module_name="ProxyTest"#ice发送目标模块名
|
||
|
|
_M_baosight = Ice.openModule('baosight')
|
||
|
|
log_file='/iPlature/log/{}.log'.format(module_name)
|
||
|
|
max_bytes=10* 1024 * 1024#日志大小10M
|
||
|
|
backup_count=20#日志数量
|
||
|
|
|
||
|
|
logger = logging.getLogger()
|
||
|
|
logger.setLevel(logging.INFO)
|
||
|
|
formatter = logging.Formatter('%(asctime)s|%(levelname)s| %(message)s')
|
||
|
|
filehandler = logging.handlers.RotatingFileHandler(log_file, mode='a', maxBytes=max_bytes, backupCount=backup_count)#每 1024Bytes重写一个文件,保留2(backupCount) 个旧文件
|
||
|
|
filehandler.setFormatter(formatter)
|
||
|
|
logger.addHandler(filehandler)
|
||
|
|
|
||
|
|
class Ptest1(MessageICE_ice._M_baosight.MessageICE):
|
||
|
|
def SendDataShort(self, eventNo, seq, length, context=None):
|
||
|
|
logger.info("SendDataShort eventNo:"+str(eventNo))
|
||
|
|
logger.info(seq)
|
||
|
|
|
||
|
|
def SendDataLong(self, eventNo, seq, length, context=None):
|
||
|
|
logger.info("eventNo:"+str(eventNo))
|
||
|
|
|
||
|
|
def TimeNotify(self, eventNo, seq, length, context=None):
|
||
|
|
logger.info("TimeNotify eventNo:"+str(eventNo))
|
||
|
|
with Ice.initialize(sys.argv) as communicator:
|
||
|
|
base = communicator.stringToProxy("baosight/{}".format(target_module_name)).ice_oneway().ice_secure(False)
|
||
|
|
proxy = _M_baosight.MessageICEPrx.uncheckedCast(base)
|
||
|
|
if not proxy:
|
||
|
|
logging.error("invalid proxy")
|
||
|
|
sys.exit(1)
|
||
|
|
# seq= ("{} 2 {}".format(module_name,target_module_name)).decode("utf-8")
|
||
|
|
seq=b'Test py - c++'
|
||
|
|
proxy.SendDataShort(eventNo, seq,len(seq))
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == '__main__':
|
||
|
|
default={
|
||
|
|
"identity":"baosight/{}".format(module_name),#identity
|
||
|
|
"adapterName":"DefaultAdapter",
|
||
|
|
"endpoints":"tcp",
|
||
|
|
"entry":Ptest1()
|
||
|
|
}
|
||
|
|
with Ice.initialize(sys.argv) as communicator:
|
||
|
|
print("start")
|
||
|
|
properties = communicator.getProperties()
|
||
|
|
adapter = communicator.createObjectAdapterWithEndpoints(default["adapterName"],default["endpoints"])
|
||
|
|
identity = properties.getProperty("Identity")
|
||
|
|
if identity == None or identity == "":
|
||
|
|
identity = default["identity"]
|
||
|
|
print("identity" + identity)
|
||
|
|
id = Ice.stringToIdentity(identity)
|
||
|
|
adapter.add(default["entry"], id)
|
||
|
|
adapter.activate()
|
||
|
|
communicator.waitForShutdown()
|