class SFSource(PacketSource): def __init__(self, dispatcher, args): PacketSource.__init__(self, dispatcher) m = re.match(r'(.*):(.*)', args) if m == None: raise PacketSourceException("bad arguments") (host, port) = m.groups() port = int(port) self.io = SocketIO(host, port) self.prot = SFProtocol(self.io, self.io) def cancel(self): self.done = True self.io.cancel() def open(self): self.io.open() self.prot.open() PacketSource.open(self) def close(self): self.io.close() def readPacket(self): return self.prot.readPacket() def writePacket(self, packet): self.prot.writePacket(packet)
def __init__(self, dispatcher, args): PacketSource.__init__(self, dispatcher) m = re.match(r'(.*):(.*)', args) if m == None: raise PacketSourceException("bad arguments") (host, port) = m.groups() port = int(port) self.io = SocketIO(host, port) self.prot = SFProtocol(self.io, self.io)
def main( **opts): global g_INIT_KEY global g_DEBUG_LEVEL global key1Hash, key2Hash, keyBothHash optStr = sfp.getOptStr() optList, args = getopt.getopt(sys.argv[1:], optStr, ['level=', 'output-file='] ) opts = {} for optKey, optVal in optList : opts[optKey] = optVal SERVER_IP = args[0] SERVER_PORT = int( args[1] ) winClassName = args[2] g_INIT_KEY = '*,*' if len( args ) > 3 : g_INIT_KEY = DELIMETER_BUS.join( args[3:] ) key1Hash = {} key2Hash = {} keyBothHash = { '*,*':[] } w = gsWindow( winClassName, SERVER_IP, SERVER_PORT, **opts ) win32gui.PumpMessages()
def main(): global g_INIT_KEY global key1Hash, key2Hash, keyBothHash optStr = sfp.getOptStr() optList, args = getopt.getopt(sys.argv[1:], optStr + 't:r', ['level=', 'output-file=']) opts = {} for optKey, optVal in optList: opts[optKey] = optVal SERVER_IP = args[0] SERVER_PORT = int(args[1]) g_INIT_KEY = args[2] #g_INIT_KEY = '0,*,*' # heartbeat,key1,key2 winClassName = args[len(args) - 1] key1Hash = {} key2Hash = {} keyBothHash = {'*,*': []} w = gsWindow(winClassName, SERVER_IP, SERVER_PORT, **opts) win32gui.PumpMessages()
class busThread(threading.Thread): def __init__(self, server_ip, server_port, **opts): self.server_ip = server_ip self.server_port = server_port threading.Thread.__init__(self) self.sock = None self.sf = None global g_INIT_KEY self.regKey = g_INIT_KEY.strip() self.heartBeatSec = int(g_INIT_KEY.split(',')[0]) # sec,key1,key2 self.sendHeartSec = 0 # '-l' : flush mode opts['-l'] = 1 #self.opts = {} self.opts = opts self.connectToServer( -1) # nMaxRetryCnt : -1 , retry connect until connecting to BUS def kill(self): self.close() def close(self): global g_OUT_FILE global SHUTDOWN self.sf.close() if g_OUT_FILE: g_OUT_FILE.close() SHUTDOWN = True def connectToServer( self, nMaxRetryCnt ): # nMaxRetryCnt : -1 , retry connect until connecting to BUS if self.sock: self.sf.close() self.sock = socket(AF_INET, SOCK_STREAM) retryCnt = 0 while 1: try: self.sock.connect((self.server_ip, self.server_port)) except Exception, e: __LOG__.Trace( "%-10s| #[%d]fail connectToServer : %s" % ('CRITICAL', retryCnt + 1, str(e)), logging.CRITICAL) time.sleep(5) if nMaxRetryCnt > 0: retryCnt += 1 if retryCnt >= nMaxRetryCnt: return False continue __LOG__.Trace( "%-10s| Succ connectToServer [%s:%d]" % ('INFO', self.server_ip, self.server_port), logging.INFO) break self.sf = sfp.SFProtocol(sfp.SFP_CH_T, **self.opts) #, self.opts self.sf.setFD(self.sock) regStr = '%s' % self.regKey # hearBeat,key2,key2 self.sf.write(' ', 'REG', regStr + '\n') return True
SERVER_PORT = int(args[1]) g_INIT_KEY = args[2] #g_INIT_KEY = '0,*,*' # heartbeat,key1,key2 winClassName = args[len(args) - 1] key1Hash = {} key2Hash = {} keyBothHash = {'*,*': []} w = gsWindow(winClassName, SERVER_IP, SERVER_PORT, **opts) win32gui.PumpMessages() if __name__ == "__main__": try: optStr = sfp.getOptStr() optList, args = getopt.getopt( sys.argv[1:], optStr + 't:r', ['level=', 'output-file=']) # 07.09.28 : 'r' 추가 if len(args) < 4: raise Exception opts = {} for optKey, optVal in optList: opts[optKey] = optVal except: print 'usage : %s [-options] [--level=] serverIp, port, heartBeat,key1,key2[default:0,*,*] winClassName' % ( sys.argv[0]) print 'examp : %s 10.10.10.10 1234 0,*,* WinAdapter' % (sys.argv[0]) print 'examp : %s -t100 -r 10.10.10.10 1234 0,*,* WinAdapter' % ( sys.argv[0]) sfp.prnOpt()