java - 从跟踪器中的 udp url/地址获取 ip

标签 java bittorrent

在 Java 中,或者更一般地说,如果我有一个跟踪器公告 URL,如:udp://tracker.coppersurfer.tk:6969,我如何获取 IP 地址以添加到需要 InetAddressDataGramPacket 构造函数中?

或者我是否遗漏了某些内容,而这些信息可以在 .torrent 文件中的其他位置找到?

在 BitTorrent 规范中,我只能找到如何使用 http 地址完成它,但我发现的所有 torrent 都使用 udp 作为其跟踪器。

最佳答案

如今运行流行的公共(public) http 跟踪器几乎是不可能的。因为它们需要太多的资源来运行。当跟踪器变得流行时,它必须仅使用UDP

BitTorrent UDP 跟踪器在 BEP15 - UDP Tracker Protocol 中指定.

要获取 URL 的 IP 地址,请使用 DNS。

来自Get IP address with URL string? (Java)的回答通过 Victor Stafusa :

Try this:

InetAddress address = InetAddress.getByName(new URL(urlString).getHost());

To get the raw IP:

String ip = address.getHostAddress();

关于java - 从跟踪器中的 udp url/地址获取 ip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44475339/

相关文章:

java - QoS1 与 QoS2 消息 - 使用 Java 中的 Paho MQTT 客户端处理它的差异

java - 在 Java Android 中使用 Switch/Case 语句的更简单方法

python http/udp bittorrent 跟踪器抓取库

python - 如何使用 python-libtorrent 获取 torrent 的对等列表?

python - 下载 python3 中指向的 torrent 文件内容

c - 简单的文件传输

java - Ctrl+单击在 Eclipse Juno 中不起作用

java - 可扩展 ListView 中不同组的不同布局

java - Jenkins-如何使用 java 以编程方式创建 Jenkins 作业、使用 maven(build) 和 git(SCM) 构建作业

python - 在 Python 中使用 Rasterbar libtorrent 进行樱桃选择