def run(self): while True: try: data_sock, client_addr = self.listenSock.accept() if not self.server.ifPrimitive: data_sock = WebSocket(data_sock) data_sock.isData = True print 'receive data socket from', client_addr except socket.timeout as e: logging.DEBUG(e) except socket.error as e: logging.error(e) else: if self.server.data_socket_for == 'NLST': if self.server.nlst_data_socket is not None: self.server.nlst_data_socket.close() self.server.nlst_data_socket = data_sock else: self.server.nlst_data_socket = data_sock elif self.server.data_socket_for == 'RETR': if self.server.retr_data_socket is not None: self.server.retr_data_socket.close() self.server.retr_data_socket = data_sock else: self.server.retr_data_socket = data_sock elif self.server.data_socket_for == 'IP': if self.server.ip_data_socket is not None: self.server.ip_data_socket.close() self.server.ip_data_socket = data_sock else: self.server.ip_data_socket = data_sock else: if self.server.stor_data_socket is not None: self.server.stor_data_socket.close() self.server.stor_data_socket = data_sock else: self.server.stor_data_socket = data_sock