我有一个服务器和一些客户端,软件方面,我希望客户端找出服务器的IP地址而不实际引用特定的数据库。
到目前为止,我对UDP有一种误解,认为UDP只使用端口作为服务器和客户端之间的公共标识符,但显然我错了。
要求: 我希望我的服务器每隔5秒左右向网络上的所有设备广播一条消息。 该消息将包含服务器的IP。
已使用此类技术的软件: 适用于iOS的照片转移应用,名为" Photo Transfer App"它真的很容易使用,因为它基本上告诉你在你的Mac和iPhone上打开应用程序,然后按下"发现"和BAM!你的设备已找到对方。 但是如何?
我的要求如何实现?
修改
我用谷歌搜索了一下。可以在255.255.255.255
上的服务器主机和连接到该地址的客户端解决我的问题吗?
According to this Wikipedia article,255.255.255.255
用于广播。
有人可以确认吗?
答案 0 :(得分:1)
Multicast会胜过广播。另请参阅:Bonjour,multicast DNS& SSDP
有关Bonjour的更多信息是available here。
答案 1 :(得分:1)
如果您将使用广播地址(255.255.255.255)或网络广播(如网络192.168.1.xxx的192.168.1.255或前缀表示法192.168.1.0/24)。您将获得基本限制:您的广播将永远不会离开该网络。因此局域网内的所有主机都会看到您的广播消息,但没有其他人。
null提到的多播更好,因为它可以离开你的网络并通过IP路由器。但这只能通过该路由器上的特殊网络设置(并且需要该路由器上的多播路由功能)来实现。
没有这种限制的另一种技术可以使用动态DNS(服务器将通过DNS注册自己)。