原始项目文档请见 README_ORIGIN.md
实现FizzySteamworks库的LAN直连模式,通过配置文件快速切换UDP直连和Steam P2P两种网络模式,用于开发和测试。
运行应用时,库会在应用运行目录自动生成 lan_config.json 配置文件。编辑此文件来切换模式:
默认配置(P2P模式):
{
"lan": false,
"auto_reload": false,
"connect_ip": "",
"connect_port": 0,
"listen_ip": "",
"listen_port": 0
}
LAN模式配置示例:
{
"lan": true,
"auto_reload": true,
"connect_ip": "127.0.0.1",
"connect_port": 27015,
"listen_ip": "0.0.0.0",
"listen_port": 27015
}
| 参数 | 说明 |
|---|---|
lan | true = LAN直连模式,false = P2P模式 |
auto_reload | true = 监听 lan_config.json 变化并自动重载,false = 仅启动时加载 |
connect_ip | 客户端连接的服务器IP地址 |
connect_port | 客户端连接目标端口 |
listen_ip | 服务器监听的IP地址(0.0.0.0 = 所有接口) |
listen_port | 服务器监听端口 |
编译与依赖引用请见 BUILD.md。
Config.EnsureLoaded() 触发配置加载config 实例字段,避免破坏原有字段布局Connect() 中通过 Config.Instance 读取配置(局部变量)lan=true:使用 ConnectByIPAddress() 进行 UDP 直连lan=false:使用 ConnectP2P() 进行 Steam P2P 连接Host() 中通过 Config.Instance 读取配置(局部变量)lan=true:使用 CreateListenSocketIP() 监听指定 IP/端口lan=false:使用 CreateListenSocketP2P() 创建 P2P 监听Config 类型,并以单例 Config.Instance 提供访问lan_config.json 时加载,不存在则生成默认文件lanauto_reloadconnect_ipconnect_portlisten_iplisten_portFileSystemWatcher 逻辑auto_reload=true 时启动监听,文件变化后触发 Config 重载OnServerConnectedWithAddress 字段OnServerConnected