class TcpServer(object): def __init__(self, loop): self.loop_ = loop self.serversd_ = Socket() self.serversd_.bind() self.serversd_.listen(100) self.conns_ = {} self.events_ = Events(self.serversd_.getSocketFd(), kEevntRead) self.handle_ = Handle(self.events_, self.serverReadCb) self.loop_.addHandle(self.handle_) self.messageCb_ = defMessageCallback def initNewConn(self, acceptRet): print "initNewConn" client = acceptRet[0] peeraddr = acceptRet[1] conn = TcpConnection(self.loop_, client, peeraddr) conn.setMessageCallback(self.messageCb_) conn.connectionInit() self.conns_[client.fileno()] = conn def setMessageCallback(self, messagecb=defMessageCallback): self.messageCb_ = messagecb def serverReadCb(self, reventFd, reventMask): print "serverReadCb" assert reventFd == self.serversd_.getSocketFd() #(socket object, address info) newconn = self.serversd_.accept() self.initNewConn(newconn)
client.close() stopped = True break else: logging.warning('Unknown request method "' + request + '" : connection closed') client.close() break logging.debug('Conection with client closed: addr=' + clientaddr) exit(0) logging.info('Video server has been started') server = Socket() server.bind(('127.0.0.1', 4242)) server.listen(5) camera = cv2.VideoCapture(0) while not stopped: connection = server.tryaccept(3) if connection is None: continue client, addr = connection thread = threading.Thread(target=processConnection, args=(client, camera)) thread.start() #for thread in threading.enumerate() : # if thread != threading.currentThread() : # thread.join()
client.close() stopped = True break else : logging.warning('Unknown request method "' + request + '" : connection closed') client.close() break logging.debug('Conection with client closed: addr=' + clientaddr) exit(0) logging.info('Video server has been started') server = Socket() server.bind(('127.0.0.1', 4242)) server.listen(5) camera = cv2.VideoCapture(0) while not stopped: connection = server.tryaccept(3) if connection is None : continue client,addr = connection thread = threading.Thread(target=processConnection, args=(client, camera)) thread.start() #for thread in threading.enumerate() : # if thread != threading.currentThread() :