我想实现一个服务发现模块来获取服务广播设备的IP地址,类似于bonjour浏览器。可以在Unity3D(Android/iOS)中实现吗?有没有人可以指导我如何实现它。举个小例子会很有帮助。谢谢
编辑1:一个物联网设备正在广播一个DNS服务,我想在Unity应用程序中获取该服务,以找到物联网设备的IP地址。我没有任何权限访问物联网设备软件或源代码。
发布于 2017-01-26 05:02:59
你不需要从头做起。有一个新的Unity API叫做NetworkDiscovery
,它被设计来简化这一点。
要找到要连接的IP地址,请在Start()
函数中调用一次服务器端的NetworkDiscovery.StartAsServer()
。
在客户端,调用NetworkDiscovery.StartAsClient()
,然后实现OnReceivedBroadcast(string fromAddress, string data);
函数。找到服务器后,将调用OnReceivedBroadcast(string fromAddress, string data);
函数,然后您可以使用返回的fromAddress
值连接到您的服务器。
当客户端连接时,您可以通过调用NetworkDiscovery.StopBroadcast()
停止广播。
发布于 2017-02-05 22:53:37
这是一个执行DNS服务发现的iOS插件:https://docs.unity3d.com/Manual/PluginsForIOS.html
https://stackoverflow.com/questions/41859370
复制相似问题