航行日志

系统登录发现服务设计

设计方案基于UDP实现。

基本流程:

服务端绑定4886端口进行进行广播监听,当收到[Discovery.ClientName.IP]时,对相应客户端回复自身的连接信息如:[earth/instance1]。客户端监听端口为4887,当收到回应为以上格式时,记录其返回连接数据。

客户端:取得当前的掩码,获取广播地址。(可以直接使用255.255.255.255)往端口号4886发送广播,内容为[Discovery.ClientName]。未来考虑加密该数据。启动 监听线程,监听端口为4887,定时30秒结束监听。当收到回应,格式如下:[DISC]:[earth/instance1],记录其返回连接数据。

如果有多个服务端实例,返回格式如下:[DISC]:[earth/instance1];[earth/instance2];[earth/instance3]

选择登录服务器后,记录到roming/DISC/launcher.ini

格式:

[Login Info]
    Company=A
    User = 001
[Recent Server]
    Server=XXXX