有关sockaddr_in.sin_family,它在netinet/in.h中中并没有直接定义(sin_port, sin_addr则明确定义了),而是使用了一个宏,该宏定义在sockaddr.h中,但是netinet/in.h中并没有include sockaddr.h。在linux/in.h中则明确定义了sin_family项。不明白为什么netinet/in.h中不直接定义,为什么常见的网络程序中一般都没有使用linux/in.h?是出于历史传统么?貌似很多代码都是从<UNIX网络编程>书中来的……
2 个解决方案
#1
linux是linux的,不是Linux怎么办, 所以用netinet
#2
那就是说普遍使用的netinet是历史原因咯?好像有看到linux下的头文件一般是给内核用的……想知道具体些的说法
#1
linux是linux的,不是Linux怎么办, 所以用netinet
#2
那就是说普遍使用的netinet是历史原因咯?好像有看到linux下的头文件一般是给内核用的……想知道具体些的说法