来一发sockaddr与sockaddr_in
每一个开发团队都对他的发行版做过测试后放出的.那些国际知名的大品牌更是如此。structsockaddr{
unsignedshortintsa_family;/*addressfamily,AF_xxx*/
charsa_data;/*address*/
};
sa_family是地点家属,是“AF_xxx”的情势。常设为“AF_INET”,代表Internet(TCP/IP)地点族。
sa_data是协定地点,由sa_family决意。假如sa_family=AF_INET,则sa_data就是sockaddr_in的sin_addr和sin_port。换句话说,这时候sockaddr能够看成sockaddr_in看。
structsockaddr_in{
shortintsin_family;/*Addressfamily*/
unsignedshortintsin_port;/*Portnumber*/
structin_addrsin_addr;/*Internetaddress*/
unsignedcharsin_zero;/*tomakesamesizeasstructsockaddr*/
};
structin_addr{
unsignedlongs_addr;
};
sin_family意义与sa_family同。
sin_port存储端标语(利用收集字节按次)
sin_addr存储IP地点,利用in_addr这个数据布局
sin_zero是为了让sockaddr与sockaddr_in两个数据布局坚持巨细不异而保存的空字节。
在in_addr布局体中,s_addr依照收集字节按次存储IP地点。
sin_zero用来将sockaddr_in布局添补到与structsockaddr一样的长度,能够用bzero()或memset()函数将其置为零。指向sockaddr_in的指针和指向sockaddr的指针能够互相转换,这意味着假如一个函数所需参数范例是sockaddr范例时,你能够在函数挪用的时分将一个指向sockaddr_in的指针转换为指向sockaddr的指针;大概相反
</p>
要多google,因为我不可能,也不可以给你解答所有内容,我只能告诉你一些关键点,甚至我会故意隐瞒答案,因为在寻找答案的过程中。 随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。 学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。 对我们学习操作系统有很大的帮助,加深我们对OS的理解。? 不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。 目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。 为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。 我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
页:
[1]