【问题标题】:Broadcast listener using Java?使用Java的广播监听器?
【发布时间】:2011-01-25 22:00:12
【问题描述】:

我的网络中运行着一个 DP(数据处理器,java 代码)和几个 C 客户端。客户端需要与 DP 通信以进行数据交换。客户端需要使用广播发现来发现 DP。客户端将广播一条消息,DP 将监听并响应可用性。我不确定如何在 Java 中为广播消息添加侦听器,我尝试使用 DatagramSocket 但它要求提供端口号? DP 应该监听在任何端口上接收到的广播消息。

【问题讨论】:

标签: java sockets broadcast


【解决方案1】:

除非客户端使用 ICMP 之类的东西,否则它们也确实需要一个端口。在正常的 TCP/IP 堆栈中,广播和多播是使用 UDP 完成的(是的,在 Java 中就是 DatagramSocket),因此需要端口号。只需选择您喜欢的端口,使其灵活并为服务器和客户端提供配置选项。

当然还有其他选项,例如 DNS SRV recordsmulticast DNS/Bonjour、自定义 IP 协议等,但这些选项更难处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多