Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
BitTorrent协议Java项目-传入连接_Java_Sockets_Port_Bittorrent - Fatal编程技术网

BitTorrent协议Java项目-传入连接

BitTorrent协议Java项目-传入连接,java,sockets,port,bittorrent,Java,Sockets,Port,Bittorrent,在我的课程中,我们必须用Java构建bittorrent客户端。我很难理解如何处理人际关系。我将一步一步地指出困扰我的部分。如果我的陈述不正确,请纠正我的错误,但在大多数情况下,我理解协议,这更多的是来自传入对等方的连接以及处理端口和套接字的问题 因此,当你连接到跟踪器时,你会告诉它你将要监听的端口,供想要与你连接的同龄人使用 从跟踪器中获得的对等字典包括所有它们正在侦听的对等端口。要与这些对等方连接,您只需在随机端口上创建一个套接字,然后传输握手 现在我的问题是,如果你是另一边的同伴。也就是说

在我的课程中,我们必须用Java构建bittorrent客户端。我很难理解如何处理人际关系。我将一步一步地指出困扰我的部分。如果我的陈述不正确,请纠正我的错误,但在大多数情况下,我理解协议,这更多的是来自传入对等方的连接以及处理端口和套接字的问题

因此,当你连接到跟踪器时,你会告诉它你将要监听的端口,供想要与你连接的同龄人使用

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

现在我的问题是,如果你是另一边的同伴。也就是说,如果您正在侦听您提供给跟踪器的端口,并且对等方在该端口上向您发送握手,那么您如何与希望它传输到其他端口的对等方通信

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

  • 对于与您连接的每个对等方,您都使用一个新的端口/套接字,您可以使用它上载(如果它们是活动对等方)/下载
  • 提供给跟踪器的端口仅用于侦听传入的对等方

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

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

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

    我还有一个问题,一个端口是否从您的总带宽中获得有限的下载/上载速率?@PeteJodo-您的实际物理带宽很可能会远低于通过软件的理论吞吐量。TCP/IP对端口本身没有任何限制,但这不会阻止操作系统或其他软件/硬件这样做。我还有一个问题,一个端口是否从您的总带宽中获得有限的下载/上传速率?@PeteJodo-很可能您的实际物理带宽将远低于通过软件的理论吞吐量。TCP/IP对端口本身没有任何限制,但这不会阻止操作系统或其他软件/硬件这样做。