def _accept_client(self): # 使用非阻塞方式等待連線,逾時時間為 1 秒 self._socket.settimeout(1) while not self._stop: try: client, addr = self._socket.accept() except socket.timeout: # 等待連線逾時,再重新等待 continue except: # except (socket.error, IOError) as ex: # 先攔截並顯示,待未來確定可能會發生的錯誤再進行處理 print(traceback.format_exc()) break if self._stop: try: client.close() except: pass break clk = TcpClient.TcpClient(client) clk.bind(key=EventTypes.RECEIVED, evt=self._events[EventTypes.RECEIVED]) clk.bind(key=EventTypes.DISCONNECT, evt=self._onClientDisconnect) clk.bind(key=EventTypes.SENDED, evt=self._events[EventTypes.SENDED]) clk.bind(key=EventTypes.SENDFAIL, evt=self._events[EventTypes.SENDFAIL]) self._clients[addr] = clk if self._events[EventTypes.CONNECTED] is not None: self._events[EventTypes.CONNECTED](clk, self._host, addr) if self._events[EventTypes.STOPED] is not None: self._events[EventTypes.STOPED](self)
def run_client(args): print "Starting as client" if args.tcp: client = TcpClient.TcpClient(args.destination, args.port, args.size, args.timeout) elif args.udp: client = UdpClient.UdpClient(args.destination, args.port, args.size, args.timeout) else: print "Error - please specify tcp or udp" return -1 res = client.send_ping() if res: print "Received response from server" else: print "Server is not responding"
# -*- coding: utf-8 -*- #Give wisdom to the machine,By ChangShouMeng from TcpClient import * from protocol_push import * tcpClient = TcpClient(0, "127.0.0.1", 1989, None) def main(): global tcpClient if not tcpClient.start(): print "tcpClient start failed" return print "start succ" req = HTTP_POST_METHOD_PUSH_GROUP_OFFLINEMSG() req.m_uMainCmd = 1 req.muGroupID = 11 req.muSenderID = 22 req.muDeviceType = 2 text = "HELLOWORLD" req.muFieldSize1 = len(text) ids = "11,22" req.muFieldSize2 = len(ids) req.message = text req.memberid = ids req.m_uPacketSize = req.getSize() tcpClient.sendPacket(req) print "send req"
res = walktree(pathname, prn) outlist += res elif S_ISREG(mode): # 숫자로 이루어진 전화 번호만. if f[0].isdigit() and f[-1].isdigit(): outlist.append(pathname) outlist.sort() return outlist if __name__ == "__main__": if len(sys.argv) < 5: print "Usage: dump_file_or_dir pas_addr pas_port cpwebserver_port [begin] [how_many]" sys.exit() if sys.argv[1][-1] != "/": cli = TcpClient.TcpClient() cli.conn(sys.argv[2], int(sys.argv[3])) cli.start() cpsvr = TcpServer.MyServer(int(sys.argv[4])) cpsvr.start() proc = DumpProc(cli, cpsvr) proc.see(sys.argv[1]) time.sleep(1) cli.stop() cpsvr.stop() else:
import socket import TcpClient import ClientConfig import os CONFIG_FILE = os.path.join(os.path.dirname(__file__), 'client_config.json') if __name__ == '__main__': client_configuration = ClientConfig.ClientConfig(CONFIG_FILE) port = client_configuration.port host = client_configuration.host client = TcpClient.TcpClient(port, host) print 'Client connected.....' client.connect()