项目开发过程中出现的错误一

来源:互联网 发布:破解版java 游戏 编辑:程序博客网 时间:2024/05/16 12:18

前天出现了一个比较低级的失误,记录如下:

本来想要绑定端口6666,于是用了 htonl(6666)。这样把6666当成了一个32位的无符号整数。也就是 00000000,00000000,00011010,00001010

转换成网络字节序就变成了 00001010,00011010,00000000,00000000。

但是sockaddr_in结构中的sin_port是usigned short int型,只有16位 ,这样,把转换过后的6666赋值给sin_port,就变成了00000000,00000000。

这样绑定的是0端口而不是6666端口。 

PS.刚才网上看到端口号的范围是0——65535。也就是0——FFFF。果然是16位。