创建网络通信¶
框架目前支持的网络协议有:TCP、KCP、WebSocket、HTTP。
关于HTTP¶
HTTP是用于服务器端的接收和处理请求的协议,通常应用于Web API等场景,常用于开发Web应用程序和网站后端。然而,由于HTTP协议本身是无状态的,它无法直接通过会话机制(如Session)进行通信。为了保持用户的状态,通常需要借助其他技术,如Cookie、Token等,以便在多个请求之间维护会话信息
关于客户端¶
Unity创建一个网络通信会话
通过创建您的第一个应用后会返回一个Scene,通过Scene来创建网络会话:
var session = _scene.Connect(
"127.0.0.1:20000",
NetworkProtocolType.KCP,
OnConnectComplete,
OnConnectFail,
OnConnectDisconnect,
false, 5000);
Connect方法创建网络连接配置参数说明:
- remoteAddress : 用于指定目标服务器的IP地址,是与服务器建立连接的必要信息。
通过该地址,客户端能够在网络上定位到目标服务器。
- networkProtocolType : 用于指定创建连接时使用的网络协议类型,常见的协议有:
- KCP: 一种快速且可靠的传输协议,特别适用于对网络延迟要求较高的场景。
- TCP: 传统的可靠传输协议,保证数据的有序传输和准确性。
- WebSocket: 一种提供全双工通信通道的协议,通常用于Web应用中,基于单一TCP连接。
- onConnectComplete : 在成功与服务器建立连接后触发的回调函数。
可以在此回调中初始化与连接状态相关的逻辑或更新应用状态。
- onConnectFail : 如果连接服务器失败,该回调函数将被执行。
通常用于处理连接失败后的逻辑,比如重新尝试连接或通知用户连接失败。
- onConnectDisconnect : 当与服务器的连接意外中断或主动断开时触发的回调函数。
可以在此回调中执行清理工作或尝试重新连接。
- isHttps : 适用于WebGL平台,用于指定目标服务器是否使用HTTPS协议。
这对于在网页应用中保证数据传输的安全性尤为重要。
- connectTimeout : 设置与服务器建立连接的最大等待时间(以毫秒为单位)。
如果在指定的时间内未能成功建立连接
将触发`onConnectFail`回调函数,从而防止应用程序在连接过程中无限期地挂起。
通过这些设置,你可以有效地管理与服务器的网络连接,确保应用在各种网络条件下都能保持良好的运行状态。
Other
我们会尽快支持其他平台。
关于服务端¶
服务器无需主动创建会话(Session),而是会在每次客户端第一次连接时,自动为其生成一个新的会话(Session)。这种机制确保每个客户端在初次连接时,服务器能够为其分配独立的会话资源,而无需预先设置或手动干预。