Browse Source

主动连接方式增加公告的显示,客户端发送方式的公告支持连接不到的时候也可以显示服务器的公告

lxb 3 weeks ago
parent
commit
9807754d5f
  1. 7
      active_connector.py
  2. 6
      server.py
  3. 2
      server_config.json
  4. 2
      version.py

7
active_connector.py

@ -6,10 +6,11 @@ import json
import re import re
class Connector: class Connector:
def __init__(self, data_dict : dict, server_cfg : dict, lock : threading.Lock, connect_check_interval : float, reconnect_interval : float, multiple_of_timeout : float = 2): def __init__(self, data_dict : dict, server_cfg : dict, note_dict : dict, lock : threading.Lock, connect_check_interval : float, reconnect_interval : float, multiple_of_timeout : float = 2):
self.data_dict = data_dict self.data_dict = data_dict
self.tmp_data_dict = dict() self.tmp_data_dict = dict()
self.server_cfg = server_cfg self.server_cfg = server_cfg
self.note_dict = note_dict
self.lock = lock self.lock = lock
self.tmp_lock = threading.Lock() self.tmp_lock = threading.Lock()
self.connect_check_interval = connect_check_interval self.connect_check_interval = connect_check_interval
@ -70,8 +71,10 @@ class Connector:
# 记录信息 # 记录信息
with self.tmp_lock: with self.tmp_lock:
# 添加公告
if server_title in self.note_dict:
shared_data_list[server_title]['note'] = self.note_dict[server_title]
shared_data_list[server_title]['interval'] = interval shared_data_list[server_title]['interval'] = interval
shared_data_list[server_title]['note'] = "" # TODO 暂不支持公告,后续增加
shared_data_list[server_title]['title'] = server_title shared_data_list[server_title]['title'] = server_title
shared_data_list[server_title]['version'] = version shared_data_list[server_title]['version'] = version
shared_data_list[server_title]['update_time_stamp'] = int(time.time()) shared_data_list[server_title]['update_time_stamp'] = int(time.time())

6
server.py

@ -61,6 +61,10 @@ def init():
data_dict['server_dict'] = dict() data_dict['server_dict'] = dict()
data_dict['version'] = version data_dict['version'] = version
for server_name in server_cfg['server_list']: for server_name in server_cfg['server_list']:
if server_name in server_cfg['note_dict']:
data_dict['server_dict'][server_name] = dict()
data_dict['server_dict'][server_name]['note'] = server_cfg['note_dict'][server_name]
else:
data_dict['server_dict'][server_name] = None data_dict['server_dict'][server_name] = None
def main(): def main():
@ -68,7 +72,7 @@ def main():
# 主动连接 # 主动连接
if 'connect_server' in server_cfg and len(server_cfg['connect_server']) > 0: if 'connect_server' in server_cfg and len(server_cfg['connect_server']) > 0:
connector = Connector(data_dict['server_dict'], server_cfg['connect_server'], data_lock, server_cfg['connect_check_interval'], server_cfg['reconnect_interval']) connector = Connector(data_dict['server_dict'], server_cfg['connect_server'], server_cfg['note_dict'], data_lock, server_cfg['connect_check_interval'], server_cfg['reconnect_interval'])
connector.run() connector.run()
print('开启主动服务器主动连接 : ' + ''.join([s['title'] for s in server_cfg['connect_server']])) print('开启主动服务器主动连接 : ' + ''.join([s['title'] for s in server_cfg['connect_server']]))
else: else:

2
server_config.json

@ -3,6 +3,8 @@
"port": 15002, "port": 15002,
"server_list":["76", "174", "233", "222"], "server_list":["76", "174", "233", "222"],
"note_dict":{ "note_dict":{
"76" : "test1",
"SERVER_76" : "test2"
}, },
"api_name": "api", "api_name": "api",

2
version.py

@ -1 +1 @@
version = "0.2.1.20250626_beta" version = "0.2.2.20250626_beta"
Loading…
Cancel
Save