Untiy使用NetworkDiscorver创建 局域网 房间

时间:2020-12-04 23:20:42

项目背景:

最近需要做一个局域网互联的游戏,查看了很多源码和资料,发现使用Unet确实很好用。但是很多人没有讲到创建房间这一块。大部分源码都是 让用户A创建一个房间,用户B输入A的iP地址进行连接,用户体验非常差劲。经过学习资料和查询,发现Unity中已经有很好的解决方案:NetworkDiscorver.

官方手册中这么介绍:

NetworkDiscovery is a class that allows Unity application using the networking system find each other on a local network.

也就是说 NetworkDiscorvery能够让局域网内的机器互相发现,这样,用户在体验时候就不用输入服务端iP地址进行连接,极大的提高了用户体验。

整个流程:

(1)广播端: 1.初始化NetworkDiscovery 组件----2.设置为广播端---广播结束

对应方法为:InitializeStartAsServerStopBroadcast

(2)监听端口:1.初始化NetworkDiscovery 组件----2.设置为接收端---接收结束

对应方法为:InitializeStartAsClientStopBroadcast