项目背景:
最近需要做一个局域网互联的游戏,查看了很多源码和资料,发现使用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.设置为广播端---广播结束
对应方法为:Initialize StartAsServer StopBroadcast
(2)监听端口:1.初始化NetworkDiscovery 组件----2.设置为接收端---接收结束
对应方法为:Initialize StartAsClient StopBroadcast