3-网络编程基础

网络编程

头文件与链接库

#include<winsock2.h>
#pragma comment(lib,"ws2_32.lib")

socket类型与协议设置

  • SOCK_STREAM:流套接字,适用于TCP

  • SOCK_DGRAM:数据包套接字,适用于UDP

  • SOCK_RAW:原始套接字,直接读写内核未处理的IP数据报

IP地址与端口结构体

1.sockaddr

系统使用的数据类型,不方便写入,使用

  • sa_family:16位地址类型,用于指定地址族

  • sa_data:14字节地址数据,ip+port

2.sockaddr_in

程序员使用的数据类型,便于给成员赋值,并强制类型转为sockaddr后传入参数使用(数据存储方式一致)

  • sin_family:16位地址类型,用于指定地址族

  • sin_port:16位端口号

  • sin_addr:in_addr类型结构体,存放32位IP地址

  • sin_zero:8字节填充