⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tracker.h

📁 linux系统下bt的客户端实现。 采用的是c++
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -