def handle(self): global AES_Key conn_sql = v2server.sqlconn() while True: try: # 接收数据 data = self.accept_data() proc_data = data.decode().split('#') if proc_data[0] == 'pull_list': msg = conn_sql.pull_user() if msg is not None: self.send_data(msg) elif proc_data[0] == 'push_traffic': if len(proc_data) != 1: users_traffic = [ eval(i) for i in proc_data if i != 'push_traffic' ] ins_queue.put(users_traffic) # 回复确认 self.send_data('$%^') except Exception as e: print(e) break # 结束处理 print("close:", self.request.getpeername()) # 关闭连接 conn_sql.conn.close() self.request.close()
def handle(self): # 初始化数据库 self.conn_sql = v2server.sqlconn() while True: try: # 接收数据 data = self.accept_data() # 无连接时 if data is None: break proc_data = data.decode().split('#') # client拉取配置信息 if proc_data[0] == 'pull_list': msg = self.conn_sql.pull_user() if msg is not None: self.send_data(msg) # 分段发送 else: self.request.sendall(b'error') except Exception as e: print(e) break # 结束处理 print("close:", self.request.getpeername()) # 关闭sql连接 self.conn_sql.conn.close() # 关闭socket连接 # self.server.shutdown() self.request.close()
def sql_queue(): conn_sql = v2server.sqlconn() while True: if ins_queue.empty() is not True: sql_task = ins_queue.get() for i in sql_task: conn_sql.update_traffic(i) time.sleep(0.1)
def init_sqlconn(i, source): mark = True while mark: print(source + ':' + time.asctime(time.localtime(time.time())) + ':', end='') try: conn = v2server.sqlconn() if i == 0: print('Mysql Connection Successfully') elif i == 1: print('Mysql Connection Successfully Recovered') mark = False except Exception: print('Mysql Connection Error') time.sleep(10) continue return conn
def handle(self): self.conn_sql = v2server.sqlconn() while True: try: data = self.request.recv(BUFSIZE) if data.decode() == 'pull_list': msg_raw = self.conn_sql.pull_user() if msg_raw is not None: self.send_data(msg_raw) print( time.asctime(time.localtime(time.time())) + '\nData interaction Successful') else: self.request.sendall(b'error') except Exception as e: print(e) break print("close:", self.request.getpeername()) self.conn_sql.conn.close() self.request.close()