Exemplo n.º 1
0
 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()
Exemplo n.º 2
0
 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()
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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
Exemplo n.º 5
0
 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()