Для этого есть несколько причин. Скорее всего:
- Peer должен знать ваше состояние, поэтому убедитесь, что вы отправили сообщения «Заинтересованные», «Не заинтересованы», «Отброшенные», «Отключенные». Точно так же вы должны отслеживать состояние сверстников.
- Вы не заинтересованы в том, чтобы сверстники или сверстники удушали вас или их обоих. Вы можете запросить только часть, когда вы заинтересованы в том, чтобы сверстники и сверстники не задушили вас. В противном случае сверст должен игнорировать ваш запрос.
- У коллеги не имеется требуемой детали. В этом случае одноранговый узел также должен игнорировать запрос.
Это все от bittorrent specification. Вот часть журнала, который демонстрирует требуемые шаги, чтобы получить первую часть:
Openning a new session between peers.
Connected to <peer addr>
Handshaked with BitTorrent protocol uTorrent version 2040
Received message: Bitfield
Update 'peer have' bitfield.
Received message: Have 572
Mark piece 572 as available.
...
... here we receive many Have messages, I skip them
...
Sending message: Interested
Received message: Unchoke
Sending message: Request { piece index = 0, block offset = 0, block length = 16384 }
Received message: Piece { piece index = 0, block offset = 0, block length = 16384 }
...
Как вы можете видеть Utorrent ответил Кусок сообщение.
Однако в этом случае нам повезло: эксперт не всегда отлучает нас от того, что у него ограниченное количество так называемых «отключенных слотов». Итак, один совет: используйте рой с небольшим отношением количества лексера к числу посевных единиц. Это должно облегчить процесс отладки, потому что один из нас с уверенностью откликнется на нас.