示例#1
0
 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