CustomPlugins:Network

NetClient:TCP网络客户端

客户端在Unity中使用,服务端在控制台中使用。

Unity客户端的使用:

CustomPlugins:Network_第1张图片

NetClient是跨场景不销毁的。

在做一个脚本用来启动客户端:

CustomPlugins:Network_第2张图片 

就两个字段服务端IP地址和网络端口号。

看启动脚本代码里面:

CustomPlugins:Network_第3张图片

CustomPlugins:Network_第4张图片我们看看日志:

CustomPlugins:Network_第5张图片

DoConnect:NetClient执行连接工作。

NetClient.DoConnect on 127.0.0.1:8888:NetClient将要连接的服务器。

Connect[0] to server 127.0.0.1:8888:NetClient在什么时间开始连接服务器。

OnGameServerConnect》》》:已连接上服务器的网络模块的客户端状态信息监听。

OnHelloWorldResponse: HelloWorld My Client!:我们Start最后一步使用HelloWorldService网络服务模块发送给服务端一条请求信息"HelloWorld My Server!","HelloWorld My Client!"是服务端收到请求后发送给我们客户端的一条对应的响应信息。

Unity客户端:

CustomPlugins:Network_第6张图片

Console服务端:

CustomPlugins:Network_第7张图片 

我们来看看网络信息库:

这一个dll工程,依赖网络通信公共库和谷歌通信协议库。

 

网络消息类和字段的定义,都是一组,一个请求一个响应: 

CustomPlugins:Network_第8张图片CustomPlugins:Network_第9张图片将消息类型添加到网络消息协议包装中,请求和响应不要放乱了: 

CustomPlugins:Network_第10张图片

CustomPlugins:Network_第11张图片

再将网络消息分发器的字段进行添加和判断:

CustomPlugins:Network_第12张图片然后打包成dll添加给服务端和客户端。

CustomPlugins:Network_第13张图片 CustomPlugins:Network_第14张图片

我们再看服务端的网络模块:

CustomPlugins:Network_第15张图片最主要的业务处理:

CustomPlugins:Network_第16张图片 

客户端的网络服务模块:

CustomPlugins:Network_第17张图片

CustomPlugins:Network_第18张图片CustomPlugins:Network_第19张图片 

CustomPlugins:Network_第20张图片WebSocketServer和WebSocketClient

WEB的TCP服务端和客户端。

CustomPlugins:Network_第21张图片 CustomPlugins:Network_第22张图片

Server设置:

永不销毁:默认设定,跨场景不销毁的资源。 

服务地址:服务器设定的地址。 

Awake启动:运行起Awake是否自动服务启动。

日志打印:交互日志显示。

事件监听依次是:

服务启动时、服务关闭时、新客户端连接时、客户端发来信息时、客户端离开时。

客户端设置:

永不销毁和服务地址以及日志打印同上。

Start连接:运行起Start是否自动连接指定地址的服务器。

异步操作:是否执行异步操作,默认是同步。

事件监听依次是:

连接上服务器时、与服务器断开连接时、接收到服务端信息时、 发生错误时。

NetworkHttp

这个是使用的RestSharp库执行的,目的是为了和Postman源代码一致。

CustomPlugins:Network_第23张图片 

CustomPlugins:Network_第24张图片这样再根据项目的具体情况,简单设计一个请求单例类。

你可能感兴趣的:(Unity,Unity插件系列,C#,c#,unity,unity3d)