gpt4 book ai didi

java - BitTorrent 协议(protocol) Java 项目 - 传入连接

转载 作者:太空宇宙 更新时间:2023-11-04 08:18:59 26 4
gpt4 key购买 nike

对于我的类(class),我们必须用 Java 构建一个 BitTorrent 客户端。我很难概念化如何处理连接。我将逐步指出困扰我的部分。如果我的陈述不正确,请纠正我,但在大多数情况下,我理解该协议(protocol),这更多是来自传入对等方的连接以及处理端口和套接字的问题。

因此,当您与跟踪器连接时,您可以告诉它您将监听的端口,以供想要与您连接的同行使用。

您从跟踪器获得的对等字典包括它们正在监听的所有对等端口。要与这些对等点连接,您只需在随机端口上创建一个套接字,然后传输握手。

现在我的问题是,你是否是另一边的同伴。也就是说,如果您正在监听给跟踪器的端口,并且对等点在该端口上向您发送握手,您如何与您希望其传输到不同端口的对等点进行通信。

我对端口和套接字感到非常困惑,试图找出如何处理从多个对等点下载和上传的问题,但以下是我所做的一些假设:

  1. 对于您连接的每个对等点,您都使用一个用于上传(如果他们是活跃对等点)/下载的新端口/套接字。
  2. 分配给跟踪器的端口仅用于监听传入的对等方。

我想也许我对端口和套接字的理解可能有缺陷,这就是让我无法理解问题的原因。我希望我的措辞也正确。谢谢。

最佳答案

当您的服务器在特定端口上监听传入连接时,作为握手的一部分,底层协议(protocol)将切换到新端口。您不必告诉对等方使用不同的端口。

关于java - BitTorrent 协议(protocol) Java 项目 - 传入连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9931029/

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