关于bt协议中tracker返回的peer列表(4字节ip地址的顺序问题)
当客户端向tracker发送的GET请求中包含compact=1这个参数时,tracker返回的信息中,每个peer占用6个字节,假如是char peers[6],其中前四个字节是peer的ip地址,后2字节为端口号
问题:ip地址的那四个字节是网络顺序的还是主机顺序的呢?也即是说,如果我们有下面这段代码:
(假如ip地址为192.168.255.1);
unsigned char temp[4];
temp[0]=peers[0];
temp[1]=peers[1];
temp[2]=peers[2];
temp[3]=peers[3];
char ip[16];
sprintf(ip,"%u.%u.%u.%u",temp[0],temp[1],temp[2],temp[3]);
ip[15]='\0';
printf("%s\n",ip);
那么打印出来的东西是“192.168.255.1”呢还是“1.255.168.192”?
[解决办法]
四个字节是网络序。