网络编程的本质:使用系统函数进行数据的收发
协议:为进行数据通信而预定义数据规则,可以基于文本定义也可以基于二进制定义
地址:网络通信中用于标识设备的整数值
端口号:设备中用于网络通信的数据通道,标识具体的连接
服务等:等待连接的设备
客户端:发起连接的设备
小端系统:采用小端模式的系统,数据低字节放在内存低地址。
大端系统:采用大端模式的系统,数据低字节放在内存高地址。
网络字节序:网络字节序采用大端模式,所以在小端系统中需要转字节序转换
IP地址、网址
IP地址不是网址,网址是具体网页的地址(网络信息资源地址,即URL)
域名是IP地址的别名,多个域名可指向一个IP地址,通过DNS解析将域名解析成IP。
执行动作 | 使用函数 |
---|---|
准备网络连接 | socket() |
连接远程设备 | connect() |
收发数据 | send()/recv() |
关闭连接 | close() |
int socket(int domain,int type,int protocal); 创建套接字,为网络连接做准备
int connect(int sock,struct sockaddr* addr,socklen_t len); 连接指定地址的远程设备
ssize_t send(int sock,const void* buf,size _t n,int flags); 发送数据到远程设备,返回值为发送数据的大小
ssize_t recv(int sock,void* buf,size_t n,int flags);接收远程设备发回的数据,返回值为接收数据的大小
int close(int sock);关闭连接,销毁套接字
注:课程笔记