tracker.h

来自「linux系统下bt的客户端实现。 采用的是c++」· C头文件 代码 · 共 56 行

H
56
字号
#ifndef TRACKER_H#define TRACKER_H#include <netinet/in.h>#include "Bencode.h"struct Tracker{		int sock, m_conn_times;		char state,  *path, *host;		unsigned short port;		size_t m_conn_interval;		char m_tracker_id[20 + 1];		};class btTracker{	public:		int	     m_status, m_sock, m_port_list[10], m_sock_list[10], 			 m_stat_list[10];	size_t   m_conn_refused, m_seeds_count, m_peers_count, 			 m_tracker_count, m_tracker_active, m_conn_interval;	char     m_path[1024], m_host[256], m_key[9], m_tracker_id[20 + 1],	         *m_host_list[10], *m_path_list[10];		in_port_t m_port, m_listen_port;	struct sockaddr_in m_self_addr;	char m_f_started : 1;	char m_f_stopped : 1;	char m_f_completed : 1;	public:	btTracker();	~btTracker();	void CloseSocket(int);	int Initial();	int Connect(int idx);	int connect_nonb(int idx, struct sockaddr_in*, socklen_t);	int s2sin(char*, int, struct sockaddr_in*);	int SocketReady(fd_set*, fd_set*, int*, fd_set*, fd_set*);	int CheckResponse(int i);	int GetPeerInfo(Bencode*p);	int UpdatePeerList(char*, size_t);	int SendRequest(int idx, int mode);	int Reset();	int Ip2sin(char*, int, struct sockaddr_in*);	int writen(int fd, const void* ptr, size_t len);	int readn(int fd, char* ptr, size_t len);};extern btTracker TRACKER;#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?