sockaddr_in结构体的说明(成员:sin_family、sin_addr、sin_zero)
sockaddr_in是系统封装的一个结构体,具体包含了成员变量:sin_family、sin_addr、sin_zero
这个结构体被封装在ws2def.h中,具体的代码如下:
typedef struct sockaddr_in {#if(_WIN32_WINNT < 0x0600)short sin_family;
#else //(_WIN32_WINNT < 0x0600)ADDRESS_FAMILY sin_family;
#endif //(_WIN32_WINNT < 0x0600)USHORT sin_port;IN_ADDR sin_addr;CHAR sin_zero[8];
} SOCKADDR_IN, *PSOCKADDR_IN;
sin_family主要用来定义是哪种地址族
sin_port主要用来保存端口号
sin_addr主要用来保存IP地址信息
sin_zero没有特殊含义
这里给出一个sockadd的使用实例:
SOCKADDR_IN addr;//实例化一个addr来存放地址信息
port = atoi(serv_port.GetBuffer(1));//将端口字符串转换为数字
addr.sin_family = AF_INET; //指定IP地址地址版本人为IPV4
addr.sin_addr.S_un.S_addr = inet_addr(serv_addr.GetBuffer(1));//转换服务器ip地址
addr.sin_port = ntohs(port);//存放端口信息
sockaddr_in结构体的说明(成员:sin_family、sin_addr、sin_zero)相关推荐
- socket编程--sockaddr_in结构体操作
sockaddr结构体 sockaddr的缺陷: struct sockaddr是一个通用地址结构,这是为了统一地址结构的表示方法,统一接口函数,使不同的地址结构可以被bind(),connect() ...
- sockaddr_in结构体
点击进入结构如下: struct sockaddr_in { __uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct ...
- c语言sockaddr_in结构体,转:sockaddr与sockaddr_in结构体详细讲解
sockaddr与sockaddr_in结构体详细讲解 二者区别 struct sockaddr { unsigned short sa_family; /* address family, ...
- linux sockaddr结构体,linux网络编程笔记 sockaddr_in结构体[转]
struct sockaddr { unsigned short sa_family; char sa_data[14]; }; 此数据结构用做bind.connect.recvfrom.sendto ...
- 结构体 CString QString 成员赋值出错
结构体 CString QString 成员赋值出错 参考:http://blog.csdn.net/lzyzuixin/article/details/6230981 问题如下: 我定义了如下的一个 ...
- C语言结构体里的成员数组和指针
单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个结论,相信这篇文章会对你理解C语言有帮助.这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接.微博截图如 ...
- c结构体中定义的成员指针赋值与结构体指针作为成员函数参数的使用
c语言定义结构体可以直接声明结构体变量的,如下 struct Student{char *name; int age; }xiaoming 这样以来,我们就定义了一个结构体类型,同时声明了一个结构体变 ...
- c语言的结构体能存放函数吗,在C语言结构体中添加成员函数
我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结 ...
- sockaddr_in 结构体
strcut sockaddr 是用来描述 IPv4 地址协议,原始结构体 sockaddr 已经被废弃掉了. 常使用 strcut sockaddr_in 类型. struct sockaddr_i ...
最新文章
- Android关于Task的一些实践之SingleTask, SingleInstance和TaskAffinity
- 居然又要出一部关于程序员的剧!你会追么?
- 怎么截取图片大小 html,详解html2canvas截图不能截取圆角图片的解决方案
- Castle IOC容器实践之TypedFactory Facility(一)
- sortable vue 排序_VUE +element el-table运用sortable 拖拽table排序,实现行排序,列排序...
- 请求和响应向更多内容
- C#中的CultureInfo类
- 基于JAVA springboot+VUE前后端分离疫情防疫平台设计实现
- “互联网+”为移动医疗提供的七大有力武器!
- 女人最想从男人那里得到什么?
- 深度探索C++对象模型读书笔记(2)
- Mybatis全局配置文件Configuration.xml详解
- 棋盘中正方形,长方形个数
- gulp less编译css压缩和js压缩别名输出
- c语言剧透,破镜重圆 ·《C语言修仙》by 十四洲
- 迪杰斯特拉算法(邻接表求解)
- 分号的html文本,在Vue中利用v-HTML按分号将文本换行的例子_輕微_前端开发者
- markdown基本用法
- POJ1753 flip Game翻转棋盘
- Opencv+Zbar二维码识别(标准条形码/二维码识别)
热门文章
- PHPExcel之蛋疼
- python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理...
- 米思齐Mixly图形化编程---按键控制LED灯
- 两角和差正余弦公式的证明
- 空间多点离散点拟合直线python和halcon
- 推荐一款免费的AI代码提示工具Codeium
- 简单理解RemoteView
- lc电路在计算机中应用,PC在电路图中代表什么
- 深度解析与实践:运用 MATLAB 实现航天器 GPS 导航与姿态控制技术在航空航天工程中的应用与模拟--浅论
- 浅析工程成本的预控管理(转)