Bittorrent维护多个同位体之间的状态

问题描述 投票:0回答:1

我正在遵循Kristen Widman教程来编写Bittorrent客户端,也遵循Wiki,但是我有一个困惑,就是我无法从在线资源中清除。

到目前为止,我已经能够发送跟踪器请求并接收对等方的列表,这些对等方的IP地址和端口是这样存储的:

[{'IP': IPv4Address('76.126.244.88'), 'port': 6881}, ... ]

Kristen在她的教程中建议我尝试首先连接到单个同伴。我想我会尝试首先与列表中的第一个对等方建立联系,到目前为止一切顺利。

但是,关于每个同级,都有某些状态,例如'am_choking','peer_choking','am_interested','peer_interested'。对于列表中的每个对等方,我是否需要跟踪这些状态中的每个状态?

p2p bittorrent
1个回答
0
投票

是,到每个对等方的连接需要维持一组独立的状态,以记住远程发送的最新状态是什么。

[official bittorrent specification中明确提及:

连接在任一端都包含两个状态位:是否阻塞,是否感兴趣。

还有on the wiki

客户端必须维护与远程对等方建立的每个连接的状态信息:

© www.soinside.com 2019 - 2024. All rights reserved.