我不知道为什么你需要下载这些特定的文件,因为它们应该在大多数现代系统中附带你的编译器套件.
您还应该记住,根据您的平台,它们可能根本不同,而且这些文件通常是#include其他非标准文件(#include其他等等).这可能会使这些文件很难解析和理解.
也就是说,从一些不确定的Linux版本:
http://linux.die.net/include/sys/types.h
http://linux.die.net/include/sys/socket.h
http://linux.die.net/include/netinet/in.h
http://linux.die.net/include/arpa/inet.h
如果要替换丢失的文件,请考虑获取/重新安装正确的编译器套件以及缺少的任何开发人员包.
如果你想看结构定义,你肯定应该看文档而不是实际的实现.这样您就可以避免将代码绑定到可在系统之间更改的私有定义等.
编辑:
只是为了确认我上面的一些评论,struct sockaddr因为所说的Linux版本是逐件定义的:
http://linux.die.net/include/bits/socket.h
http://linux.die.net/include/bits/sockaddr.h