def unit_Start(self, session_id): flag = False area_session_id = None area_ip = None iplist = [] for s_id, session in self.sockSession_map: if session.addr[0] in self.servertype_dict: if self.servertype_dict[session.addr[0]] == 'area': flag = True area_session_id = s_id area_ip = session.addr[0] self.sockSession_map[session_id].start(area_ip,self.ipserver_dict[area_ip]) iplist.append(self.Server.addr[0]) if flag: for s_id, session in self.sockSession_map: if s_id != area_session_id and s_id != session_id: self.sockSession_map[s_id].initData(area_ip,self.ipserver_dict[area_ip]) iplist.append(session.addr[0]) else: for s_id, session in self.sockSession_map: self.sockSession_map[s_id].initData(self.Server.addr[0],self.ipserver_dict[self.Server.addr[0]]) iplist.append(session.addr[0]) for node,unit in self.nodeunit_map: if unit == self.ipserver_dict[self.Server.addr[0]]: if self.serverip_dict[node] not in iplist: session = sock_sessionA(3) self.sockSession_map[id(session)] = session self.sockSession_map[id(session)].init_data(self.Server.addr[0]) self.sockSession_map[session_id].start()
def Start(self): if self._para.Server_Type() == 'area': pass elif self.self._para.Server_Type() == 'unit': session = sock_sessionA(self.self._para) self.name_sockSesssion[self._para.Server_Name()] = session threading.Timer(5,self.unit_Start,id(session)) elif self.self._para.Server_Type() == 'node': pass self.Server.run() threading.Thread(target=asyncore.loop).start()