目录
socket(套接字)网络编程
Tcp协议是面向连接
Udp协议是面向报文,较于tcp是不可靠的,但其数据量大可以有另外的使用场景
一、字节序
概述:字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。
Little endian 小端字节序
Big endian 大端字节序
网络字节序=大端字节序
二、相关API
1.连接协议
int socket(int domain,int type,int protocl);
int bind(int sockfd,const struct sockaddr *addr,socklen_t addrlen);
2.地址转换API
int inet_aton(const char* straddr,struct in_addr *addrp);
//把字符串形式的例“192.168.1.123”转为网络能识别的格式
char* inet_ntoa(struct in_addr inaddr);
//把网络格式的ip地址转为字符串形式
3.监听
int listen(int sockfd,int backlog);
4.连接
int accept(int sockfd,struct sockaddr *addr,socklen_t *addrlen);
5.收发
ssize_t send(int s,const void *msg,size_t len,int flag);
//在tcp套接字上发送数据函数:有连接
ssize_t recv(int s,void *buf,size_t len,int flags);
//在tcp套接字上接收数据函数:有连接
6.连接
int connect(int sockfd,const struct sockaddr *addr,socklen_t addrlen);
//客户机连接主机d
7.字节序转换API
uint16_t htons(uint16_t host16bitvalue); //返回网络字节序的值
uint32_t htonl(uint32_t host32bitvalue); //返回网络字节序的值
uint16_t ntohs(uint16_t net16bitvalue); //返回主机字节序的值uint32_t
ntohl(uint32_t net32bitvalue); //返回主机字节序的值