#include <WinSock2.h>
INT16 srcport;
在这个头文件中,INT16 被定义为signed short,即有符号短整型。
而端口号也是16位,可以表示0~65535,是无符号短整型。
用INT16可以表示0x000000~0x7FFFFF(即0~524287,524287的二进制代码为 0111 1111 1111 1111,最高位为符号位)。
这也就解释了为什么用INT16表示端口号会有负数出现。
可以使用UINT16表示端口号,即无符号整型。
typedef unsigned short UINT16