1. 首页
  2. 课程学习
  3. 嵌入式
  4. 完整中文VC# Visual C#数据库高级教程

完整中文VC# Visual C#数据库高级教程

上传者: 2024-07-21 13:32:11上传 PDF文件 14.14MB 热度 8次

(1) 地址结构相关处理数据结构:首先介绍两个重要数据类型:sockaddrsockaddr_in,这两个结构类型都是用来保存socket信息的,如下所示:


struct sockaddr {

    unsigned short sa_family; // 地址簇

    char sa_data[14]; // 14字节的协议地址,包含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同样大小

};

这两个数据结构是等效的,可以相互转化,通常sockaddr_in数据类型使用更为普遍。在建立sockaddrsockaddr_in后,就可以对该socket进行适应的操作了。

(2) 数据存储优先顺序:计算机数据存储有两个字节优先顺序:高位字节优先和低位字节优先。Internet上的数据是高位字节优先顺序在网络上传输,因此在有些情况下,需要对这两个字节存储优先顺序进行相互转化。这里用到四个函数:htonsntohshtonlntohl。这四个函数分别为实现网络字节序和主机字节序的转化,其中h代表host,n代表network,s代表short,l代表long。通常16位的IP端口号用s代表,而IP地址用l表示。

(3) 地址格式转化:通过用户在表示地址时采用的点分十进制表示的数值(或者是以冒号分开的十进制IPv6地址),而在通常使用的socket编程中所使用的则是二进制值,这就需要将两个数值进行转换。这里在IPv4中用到的函数有inet_atoninet_addrinet_ntoa,而IPv4和IPv6兼容的函数有inet_ptoninet_ntop。IPv6是下一代互联网标准协议,将在下节做简单介绍,这里先介绍IPv4。这里inet_pton函数是将点分十进制地址映射为二进制地址,而inet_ntop则相反。函数格式:

inet_pton函数:

所需头文件:#include

函数原型:int inet_pton(int family, const char *strptr, void *addrptr)

参数说明:family:AF_INET(IPv4)、AF_INET6(IPv6协议)

如果你对更多格式转化有兴趣,可以参考以下资源:java格式转化编码格式转化字幕格式转化格式转化器格式转化大师YUV格式转化为PPM格式yuv格式转化为GBR格式tif格式转化为pdf格式C++网络字节顺序转换函数ip格式转换函数PDF格式转化为JPG格式软件pdf格式文档转化为Word格式将JPEG格式转化为BMP格式dwg格式转化成shp格式方正格式转化为pdf格式格式工厂用于转化文件格式小说格式转化器HEIF照片格式转化PDF转化WORD格式CAD转化格式软件Java时间格式转化

用户评论