Esempio n. 1
0
 def decode(self, data):
     (len, msgLen) = struct.unpack_from('>II', data);
     offset = struct.calcsize('>II');
     (msgName, protoLen) = struct.unpack_from('>'+str(msgLen)+'sI', data, offset);
     offset = offset + msgLen+ struct.calcsize('>I');
     msg = MsgFactory.create(msgName);
     #print msg, repr(data[offset:]);
     msg.jsonDecode(data[offset:]);
     return msg;
Esempio n. 2
0
 def encode(self, msg):
     if msg.receiverName:
         receiver = struct.pack('>III', msg.receiver.id, msg.receiver.remote, msg.receiver.time);
     else:
         receiver = struct.pack('>I'+str(len(msg.receiverName))+'s', len(msg.receiverName), msg.receiverName);
     sender = struct.pack('>III', msg.sender.id, msg.sender.remote, msg.sender.time);
     msgName = MsgFactory.getClassName(msg);
     msgName = struct.pack(('>I%ds' % len(msgName)), msgName);
     data = msg.encode();
     data = struct.pack(('>I%ds' % len(data)), data);
     alldata = '%s%s%s%s' % (receiver, sender, msgName, data);
     return struct.pack(('>I%ds' % len(alldata)), alldata);
Esempio n. 3
0
import sys;
import time;
from datetime import datetime;
from msgqueuemsg import OpenMsgQueueRequest, OpenMsgQueueResult, GetMsgRequest, GetMsgResult, SendMsgRequest, SendMsgResult;
from translator import JsonTranslatorEx;
from network import NetConnection;
from msgfactory import MsgFactory;

MsgFactory.register("OpenMsgQueueRequest", OpenMsgQueueRequest);
MsgFactory.register("OpenMsgQueueResult", OpenMsgQueueResult);
MsgFactory.register("GetMsgRequest", GetMsgRequest);
MsgFactory.register("GetMsgResult", GetMsgResult);
MsgFactory.register("SendMsgRequest", SendMsgRequest);
MsgFactory.register("SendMsgResult", SendMsgResult);

HOST = "127.0.0.1";
PORT = 12010;

#HOST = "10.241.12.117";
#PORT = 12510;


if __name__ == "__main__":

    if len(sys.argv) < 4:
        print "%s queuename data clientname" % sys.argv[0];
        exit();	
    queuename = sys.argv[1];
    data = sys.argv[2];
    clientname = sys.argv[3]; 
Esempio n. 4
0
import sys, time; 
from translator import ProtocolTranslator, StandTranslator;
from msgfactory import MsgFactory;
from addmsg import AddRequest, AddResult;
import network ;


HOST = "127.0.0.1";
PORT = 12010;

MsgFactory.register("AddRequest", AddRequest);
MsgFactory.register("AddResult",  AddResult);

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print "%s param1 param2" % sys.argv[0];
        exit();
    param1, param2= int(sys.argv[1]), int(sys.argv[2]);
    
    req = AddRequest();
    req.iSequenceID = 1234;
    req.param1 = param1;
    req.param2 = param2;
    
    tran = ProtocolTranslator();
    conn = network.NetConnection(tran, HOST, PORT);
    res = conn.sendAndRecvMsg(req);
    conn.close();
    print repr(res);
Esempio n. 5
0
 def encode(self, msg):
     data=''.join((struct.pack('>I'+str(len(x))+'s', len(x), x) for x in (MsgFactory.getClassName(msg), msg.jsonEncode())));
     return struct.pack('>I'+str(len(data))+'s', len(data)+4, data);
Esempio n. 6
0
class StandTranslator(object):
    '''stand translator, default, '''
    
    def decode(self, data):
        pass; 
    
    def encode(self, msg):
        if msg.receiverName:
            receiver = struct.pack('>III', msg.receiver.id, msg.receiver.remote, msg.receiver.time);
        else:
            receiver = struct.pack('>I'+str(len(msg.receiverName))+'s', len(msg.receiverName), msg.receiverName);
        sender = struct.pack('>III', msg.sender.id, msg.sender.remote, msg.sender.time);
        msgName = MsgFactory.getClassName(msg);
        msgName = struct.pack(('>I%ds' % len(msgName)), msgName);
        data = msg.encode();
        data = struct.pack(('>I%ds' % len(data)), data);
        alldata = '%s%s%s%s' % (receiver, sender, msgName, data);
        return struct.pack(('>I%ds' % len(alldata)), alldata);
        
if __name__ == "__main__":
    MsgFactory.register("msg", msg.Msg);
    msg = msg.Msg();
    msg.serialNo = 60;
    translator = ProtocolTranslator();
    data = translator.encode(msg);
    print repr(data);
    msg1 = translator.decode(data);
    print msg1.serialNo;