套接字(Socket)
套接字 (socket) = 网络地址(Ip) + 端口号(port)
两种套接字标准
Berkeley Socket -> Linux / UNIX
Winisock -> Windows
Socket 编程原理
网络程序 = 客户程序 + 服务端程序
套接字
Socket函数
Ip地址转换
字节转换
客户端 <------------Socket---------------> 服务端
两种套接字
流套接字 //面向连接的,提供稳定可靠的传输
SOCK_STREAM
TCP/IP
数据报套接字 //面向无连接的,不可靠的协议。优点速度快
SOCK_DGRAM
UDP/IP
网络程序 = 客户端 + 服务端
初始化Socket 初始化监听Socket
建立连接 接受新的客户端连接
收发数据 收发数据
关闭连接 关闭连接
Socket函数
Socket() // 创建你一个套接字
Bind() // 将一个套接字与一个ip地址绑定
Listen() // 在服务端进行监听
Sccept() // 接受请求
Connect() // 客户端连接请求
Send() // 发数据
Recv() // 收数据
Select() // 确定一个或多个套接口的状态
Closesocket() //关闭套接字
Ip地址转换
点分ip地址 -> 32位无符号整数
转换函数 s_addr = inet_addr(“192.168.1.1”);
Htonl() // 本机转换网络长整形
Htons() // 本机转换网络短整形
Ntohl() // 网络转换本机长整形
Ntohs() // 网络转换本机短整行