
BitTorrent协议
li6322511
这个作者很懒,什么都没留下…
展开
-
BitTorrent协议分析一
转载说明:原文地址:http://blog.sina.com.cn/s/blog_4ab2ba570100y7fv.html 概要介绍2.1BitTorrent(简称BT)是一个文件分发协议,每个下载者在下载的同时不断向其他下载者上传已下载的数据。而在FTP、HTTP协议中,每个下载者从FTP或HTTP服务器处下载自己所需要的文件,各个下载者之间没有交互。当非常多的用户同时访问和转载 2018-01-08 12:05:32 · 5864 阅读 · 0 评论 -
BitTorrent协议分析二
接一客户端与一个peer建立TCP连接后,首先向peer发送握手消息,peer收到握手消息后回应一个握手消息。l 握手消息是一个长度固定为68字节的消息。消息的格式如下:消息格式中一些参数的含义如表13-9所示。表13-9 握手转载 2018-01-08 14:44:11 · 2077 阅读 · 0 评论 -
BitTorrent协议分析三
各个模块的设计和实现 4.1 种子解析模块的设计和实现解析种子文件主要在parse_metafile.h和parse_metafile.c中完成。parse_metafile.h文件的内容为:parse_metafile.h#ifndef PARSE_METAFILE#define PARSE_METAFILE //转载 2018-01-08 14:46:46 · 666 阅读 · 0 评论 -
BitTorrent协议分析四
4.2 位图管理模块的设计和实现对位图的操作主要在bitfield.h和bitfield.c中,负责创建位图,设置和获取位图某一位的值,保存位图等。bitfield.h#ifndef BITFIELD_H#define BITFIELD_H typedef struct _Bitmap { unsigned char *bitfi转载 2018-01-08 14:47:43 · 752 阅读 · 0 评论 -
BitTorrent协议分析五
peer.c文件的头部包含的代码如下:peer.c#include #include #include #include "peer.h"#include "message.h"#include "bitfield.h" extern Bitmap *bitmap; // 指向当前与之进行通信的peer链表转载 2018-01-08 14:48:56 · 597 阅读 · 0 评论 -
BitTorrent协议分析六
ul int process_handshake_msg(Peer *peer,unsigned char *buff,int len)功能:处理接收到的一条握手消息。参数:从peer接收到这条握手消息;buff指向握手消息;len为buff的长度。函数实现的代码如下:int process_handshake_msg(Peer *peer,unsigned char转载 2018-01-08 14:50:28 · 697 阅读 · 1 评论