我的网络中运行着一个 DP(数据处理器,java 代码),并且有几个 C 客户端。 Client需要与DP通信进行数据交换。客户端需要使用广播发现来发现DP。客户端将广播一条消息,DP 将监听并响应可用性。我不确定如何在 Java 中为广播消息添加监听器,我尝试使用 DatagramSocket 但它要求端口号? DP 应监听任何端口上收到的广播消息。
最佳答案
除非客户端使用 ICMP 之类的东西,否则它们也需要端口。在普通的 TCP/IP 堆栈中,广播和多播是通过 UDP 完成的(是的,这就是 Java 语言中的 DatagramSocket),因此需要端口号。只需选择一个您喜欢的端口,使其灵活并为服务器和客户端提供配置选项。
当然还有其他选项,例如 DNS SRV
records , multicast DNS/Bonjour 、自定义 IP 协议(protocol)等,但这些更难处理。
关于java - 使用Java的广播监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4799346/