如果客户端的端口在服务器发现期间已被占用,如何更改服务器中的UDP广播端口?

问题描述 投票:0回答:1

我正在尝试在PC(服务器)和Android手机之间实现服务器发现,在公共端口(8888)上从服务器广播消息。我想知道如果端口已经在客户端中,我应该怎么做,如何更改端口,以便客户端接收广播消息?我应该使用任何特定的网络发现协议(UPnP或类似的)吗?

对不起,如果这是一个基本问题,但我不熟悉网络编程。我会根据你的观察编辑我的问题。

我只能找到这个,但它没有答案:How to listen for a UDP broadcast when the default port could be already taken

java android udp broadcast service-discovery
1个回答
0
投票

理想情况下,使用现有的服务发现协议,如SSDP。对于Android,您可以通过以下方式进行一些先前的工作:https://github.com/resourcepool/ssdp-client

使用SSDP的原因:

  • 由于端口已正确保留,因此您不会遇到任何冲突。
  • 它使用多播而不是广播。这可能对您的网络没什么影响,但IPv6不支持广播,因此它已经兼容。
  • 它是一种标准协议,因此网络管理员知道它是什么并且可以处理流量。
© www.soinside.com 2019 - 2024. All rights reserved.