首页 > 解决方案 > HttpListner 发现

问题描述

我正在 Xamain 上开发一个系统,每个设备都可以通过 HttpListner 创建网络服务,然后开始列出来自同一 LAN 网络上其他设备的传入呼叫。创建监听器后,我们可以在 URI 中应用命名约定,以便其他设备可以过滤掉不相关的服务。

问题是有没有办法发现同一局域网下所有具有给定服务前缀的主机(ip+port)?

我可以通过 NdsManager 类使用 Android 的设备特定代码然后调用 DiscoveringPeers() 来做到这一点,但我在想为什么在 .Net 中不可能有等效的功能?

标签: xamarinself-hostinghttplistener

解决方案


我使用 ZeroConf 作为实现多播客户端的灵感来源,现在一切都很好。最重要的是选择适合您网络的正确 IP 地址进行多播。请参阅此表 ( https://en.wikipedia.org/wiki/Multicast_address )。广播到 255.255.255.255 不是必需的行为,也不会被路由。


推荐阅读