我想实现一个服务发现模块来获取服务广播设备的IP地址,类似于bonjour浏览器。是否可以在Unity3D(Android / iOS)中实现它。任何人都可以指导我如何实现它。一个小例子真的很有帮助。 感谢
编辑1:IOT设备正在广播DNS服务,我想在Unity应用程序中获取此服务以查找IOT设备的IP地址。我无法访问物联网设备软件或源代码。
答案 0 :(得分:2)
您不必从头开始这样做。有一个名为NetworkDiscovery
的新Unity API,旨在简化此操作。
要查找要连接的IP地址,请在NetworkDiscovery.StartAsServer()
功能中调用服务器端的Start()
。
在客户端,请致电NetworkDiscovery.StartAsClient()
,然后实施OnReceivedBroadcast(string fromAddress, string data);
功能。找到服务器后,将调用OnReceivedBroadcast(string fromAddress, string data);
函数,然后您可以使用返回的fromAddress
值连接到您的服务器。
当客户端连接时,您可以通过调用NetworkDiscovery.StopBroadcast()
停止广播。
答案 1 :(得分:1)
这是一个执行DNS服务发现的iOS插件: https://docs.unity3d.com/Manual/PluginsForIOS.html