请问消息是如何由节点进行编码、发送和接收的呢?
如果有一条消息
have: <len=0005><id=4><piece index>
这个消息是如何发送的(以二进制形式,如何将其转换为二进制形式?)并且如何接收?
消息发送给同行的顺序是否有特定的顺序?
我已经阅读了规范,但还有一些疑问。
谢谢
请问消息是如何由节点进行编码、发送和接收的呢?
如果有一条消息
have: <len=0005><id=4><piece index>
这个消息是如何发送的(以二进制形式,如何将其转换为二进制形式?)并且如何接收?
消息发送给同行的顺序是否有特定的顺序?
我已经阅读了规范,但还有一些疑问。
谢谢
have
消息之前,规范中提到:
你已经掌握了长度和ID的二进制格式。'piece index'部分是这个消息特定的有效负载。由于该消息的固定大小为5个字节,其中1个字节用于消息ID(查看其他具有相同格式的消息应该能给你一些线索),因此它应该是四个字节长。协议中剩余的所有消息都采用<长度前缀><消息ID><有效负载>的格式。长度前缀是一个四字节大端值。消息ID是一个单个十进制字节。有效负载取决于消息。
npm install
,因为它没有外部依赖。