sockaddr 和 sockaddr_in 的差别和联系
来源:互联网 发布:2016网络黑色产业链 编辑:程序博客网 时间:2024/05/21 06:45
Sockfd是调用socket函数返回的socket描述符,my_addr是个指向包含有本机IP地址及端口号等信息的sockaddr类型的指
针;addrlen常被设置为sizeof(struct sockaddr)。
struct sockaddr结构类型是用来保存socket信息的:
struct sockaddr
{
unsigned short sa_family; /* 地址族, AF_xxx */
char sa_data[14]; /* 14 字节的协议地址 */
};
sa_family一般为AF_INET,代表Internet(TCP/IP)地址族;
sa_data则包含该socket的IP地址和端口号。
另外更有一种结构类型:
struct sockaddr_in
{
short int sin_family; /* 地址族 */
unsigned short int sin_port; /* 端口号 */
struct in_addr sin_addr;/* IP地址 */
unsigned char sin_zero[8]; /* 填充0 以保持和struct sockaddr同样大小*/
};
这个结构更方便使用。
sin_zero用来将sockaddr_in结构填充到和struct sockaddr同样的长度,能用bzero()或memset()函数将其置为零。指向sockaddr_in的指针和指向sockaddr的指针能相互转换,这意味着如果一个函数所需参数类型是sockaddr时,你能在函数调用的时候将一个指向sockaddr_in的指针转换为指向sockaddr的指针;或相反。
来源: ChinaUnix博客 作者: ChinaUnix博客
- sockaddr 和 sockaddr_in 的差别和联系
- sockaddr 和 sockaddr_in 的区别与联系
- sockaddr 和 sockaddr_in 的区别与联系
- 【转】struct sockaddr与struct sockaddr_in的区别和联系
- struct sockaddr与struct sockaddr_in的区别和联系
- 【转】struct sockaddr与struct sockaddr_in的区别和联系
- struct sockaddr与struct sockaddr_in的区别和联系
- struct sockaddr、sockaddr_in、sockaddr_un的区别和联系
- struct sockaddr与struct sockaddr_in的区别和联系
- struct sockaddr与struct sockaddr_in的区别和联系
- struct sockaddr、sockaddr_in、sockaddr_un的区别和联系
- struct sockaddr与struct sockaddr_in的区别和联系
- struct sockaddr与struct sockaddr_in的区别和联系
- sockaddr和sockaddr_in的区别
- sockaddr和sockaddr_in的区别
- sockaddr 和 sockaddr_in的区别
- sockaddr和sockaddr_in的区别
- sockaddr和sockaddr_in的区别
- 互联网电视的本质
- JS调用C#后台代码---JS实现DataGrid“全选”、“反选”、调用后台代码批量删除数据
- 致新手:用VB6解决一些有趣的问题(九)
- 28 句人际关系句 4.8
- js动态添加删除,后台取数据
- sockaddr 和 sockaddr_in 的差别和联系
- MyEclipse 8.x 关闭自动更新方法
- fork与clone
- maven项目中自动下载jar包的pom.xml配置
- MFC中Doc,View,MainFrmae,App各指针的互相获取
- Linux version code
- 用友伟库自娱自乐,易X国际丢人现眼
- 数据库中错误“将截断字符串或二进制数据”
- Hibernate自动生成数据库表工具类--注解模式适用