Linux平台下基于BitTorrent应用层协议的下载软件开发--消息处理模块(message.h)
来源:互联网 发布:js每四张图片轮播代码 编辑:程序博客网 时间:2024/04/29 11:35
#ifndef MESSAGE_H#define MESSAGE_H#include "peer.h"int int_to_char(int i, unsigned char c[4]); // 将整型变量i的四个字节存放到数组c中int char_to_int(unsigned char c[4]); // 将数组c中的四个字节转换为一个整型数// 以下函数创建各个类型的消息int create_handshake_msg(char *info_hash,char *peer_id,Peer *peer);int create_keep_alive_msg(Peer *peer);int create_chock_interested_msg(int type,Peer *peer);int create_have_msg(int index,Peer *peer);int create_bitfield_msg(char *bitfield,int bitfield_len,Peer *peer);int create_request_msg(int index,int begin,int length,Peer *peer);int create_piece_msg(int index,int begin,char *block,int b_len,Peer *peer);int create_cancel_msg(int index,int begin,int length,Peer *peer);int create_port_msg(int port,Peer *peer);// 打印消息缓冲区中的消息, 用于调试int print_msg_buffer(unsigned char *buffer, int len);// 为发送have消息作准备,have消息较为特殊,它要发送给所有peerint prepare_send_have_msg();// 判断缓冲区中是否存放了一个完整的消息int is_complete_message(unsigned char *buff,unsigned int len,int *ok_len);// 处理收到的消息,接收缓冲区中存放着一个完整的消息int parse_response(Peer *peer);// 处理受到的消息,接收缓冲区中除了存放一个完整的消息外,还有不完整的消息int parse_response_uncomplete_msg(Peer *p,int ok_len);// 创建响应消息int create_response_message(Peer *peer);// 即将与peer断开时,丢弃发送缓冲区中的消息void discard_send_buffer(Peer *peer);#endif
- Linux平台下基于BitTorrent应用层协议的下载软件开发--消息处理模块(message.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--消息处理模块(message.c)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--消息处理模块(signal_handler.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--出错处理模块(bterror.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--消息处理模块(signal_handler.c)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--位图模块(bitfield.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--缓冲管理模块(data.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--日志管理模块(log.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--种子文件解析模块(parse_metafile.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--peer模块(peer.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--策略管理模块(policy.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--哈希模块(sha1.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--peer交互模块(torrent.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--tracker服务器交互模块(tracker.h)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--出错处理模块(bterror.c)
- Linux平台下基于BitTorrent应用层协议的下载软件开发---位图模块(bitfield.c)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--缓冲管理模块(data.c)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--日志管理模块(log.c)
- 获取pt_regs结构的宏
- day5 test05
- get_mm_rss(mm)
- Linux平台下基于BitTorrent应用层协议的下载软件开发--消息处理模块(message.c)
- Oracle、SQL和DB2分页查询写法介绍
- Linux平台下基于BitTorrent应用层协议的下载软件开发--消息处理模块(message.h)
- 伙伴系统算法中的伙伴
- Linux平台下基于BitTorrent应用层协议的下载软件开发--种子文件解析模块(parse_metafile.c)
- win7 安装loadrunner11
- C# out和ref区别
- New device resource allocate function
- 今天,我依然奋战在二级C
- Linux平台下基于BitTorrent应用层协议的下载软件开发--种子文件解析模块(parse_metafile.h)
- linux pm runtime