中文 | English

RocketDriver Pro

Logo

RocketDriver Pro 是一款基于Unity引擎的游戏开发框架


4. 网络管理扩展模块(NetManager)

简单易用的网络链接管理模块

4.1 VirtualServer的使用

4.1.1 实例化并加入到NetManager管理

var server = new VirtualServer("server", "none");
NetManager.Shared.Register(server, true);

image
加入到NetManager中的对象可以通过名称获得。

4.1.2 注册扩展

server.RegisterExtension(VirtualReqIds.Id0, 
  OnRequestHandler);

image

4.1.3 协议响应

响应委托声明:VirtualServerDelegate.OnProtoRequestHandler
image

4.1.4 消息推送

4.2 VirtualClient的使用

4.2.1 实例化并加入到NetManager管理。

var client = new VirtualClient("client", "none");
NetManager.Shared.Register(client, true);

image
加入到NetManager中的对象可以通过名称获得。

4.2.2 连接服务器

var serverProxy = NetManager.Shared.
  GetServer<IVirtualServer>("server") as IVirtualServerProxy;
client.Connect(serverProxy);

image

4.2.3 监听请求响应、监听消息推送

监听功能建立在事件机制下:

client.AddEventListener(VirtualClientEvents.EventResponse,
  OnClientResponse);
client.AddEventListener(VirtualClientEvents.EventNotify,
  OnClientNotify);

image

4.2.4 发送消息请求

使用接口IVirtualClient下的Request函数可以向服务器发送消息请求。

NetManager.Shared.GetClient<IVirtualClient>("client")
  .Request(protoId, m_InputRequestData.text.Trim());

image

4.3 示例

JLGames/RocketDriver/Samples/NetManager
image