gpt4 book ai didi

Java:用MulticastSocket接收时判断接收地址

转载 作者:行者123 更新时间:2023-11-30 09:58:54 25 4
gpt4 key购买 nike

我正在使用 MulticastSocket 接收 UDP 多播数据包。如何确定此类数据包发送到哪个地址?使用提供的方法,我只能确定发件人地址。

当然,我是在创建监听套接字时设置To-Address的,但是我真的能确定这一点吗?广播数据包呢?不知何故在这里结束的数据包呢?我真的很想区分数据包是否真的是多播的。

谢谢!

更新:目前似乎刚刚发送到该端口的单播数据包也最终进入了多播套接字 receive() :( 绑定(bind)到设备也没有给我更好的结果

最佳答案

我对细节有点模糊,但是一个多播数据包将被发送到你订阅的 ip/port 组合(并且这个信息将在数据包中的某个地方),假设你设法有一个清晰的路径理解多播的中间路由器。如果您想确保多播套接字从正确的网络接口(interface)接收,可以使用一系列函数将其绑定(bind)到特定接口(interface)。

我不认为你有任何方式知道数据包是否“真的”多播,即有人总是可以伪造一个,因为没有真正的内置安全性。

关于Java:用MulticastSocket接收时判断接收地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/271800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com