两个引用:
协议中所有剩余的消息都采用
<length prefix><message ID><payload>
. 长度前缀是一个四字节大端值。消息 ID 是一个十进制字节。有效负载取决于消息。request: <len=0013><id=6><index><begin><length>
请求消息是固定长度的,用于请求一个块。有效载荷包含以下信息:
- index:整数,指定从零开始的片段索引
- begin:整数,指定片段内从零开始的字节偏移量
- 长度:指定请求长度的整数。
当我写下所有内容时,它总计为 5 个字节。使用
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
byteStream.write( 13 );
byteStream.write( 6 );
byteStream.write( index );
byteStream.write( begin );
byteStream.write( length );
message = byteStream.toByteArray();
编辑:对不起,我写的时候有点生气。它的bittorent协议。使用这个规范。