没有集中主机的网络通信。可能吗?

时间:2015-07-10 21:37:04

标签: networking tcp udp communication

我有一个服务器和一些客户端,软件方面,我希望客户端找出服务器的IP地址而不实际引用特定的数据库。

到目前为止,我对UDP有一种误解,认为UDP只使用端口作为服务器和客户端之间的公共标识符,但显然我错了。

要求: 我希望我的服务器每隔5秒左右向网络上的所有设备广播一条消息。 该消息将包含服务器的IP。

已使用此类技术的软件: 适用于iOS的照片转移应用,名为" Photo Transfer App"它真的很容易使用,因为它基本上告诉你在你的Mac和iPhone上打开应用程序,然后按下"发现"和BAM!你的设备已找到对方。 但是如何?

我的要求如何实现?

修改 我用谷歌搜索了一下。可以在255.255.255.255上的服务器主机和连接到该地址的客户端解决我的问题吗?

According to this Wikipedia article255.255.255.255用于广播。

有人可以确认吗?

2 个答案:

答案 0 :(得分:1)

Multicast会胜过广播。另请参阅:Bonjourmulticast 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注册自己)。