Linux提供的API
1、int socket(int domain,int type,int protocol);
domain通常为AF_INET(IPv4)
type参数指定socket的类型:SOCK_STREAM流式套接字提供可靠的,面向连接的通信流;它使用TCP协议,保证数据传输的正确性和顺序性
SOCK_DGRAM数据报套接字,是无序的,不保证可靠、无差错的。使用的数据报协议是UDP。
SOCK_RAW允许程序使用底层协议,原始套接字允许对底层协议如IP和ICMP进行直接访问主要用于一些协议的开发。
protocol:可以是0
2、bind()函数:IP号端口号与相应描述符赋值函数
int bind(int sockfd, const struct sockaddr *addr,socklen_ addrlen);
3、IP地址转换API
int inet_aton(const char* straddr,struct in_addr *addrp);
把字符串形式的“192.168.1.123”转为网络能识别的格式
char *inet_nota(struct in_addr inaddr);
把网络格式的IP地址转为字符串形式
4、listen()函数:监听设置函数
int listen(int sockfd,int backlog);
backlog是支持最大的连接数,维护未完成连接队列和已完成连接队列,未完成与已完成要看三次握手的情况
只能用于服务端,客户端没有listen
5、accept()函数
当客户端调用connect的时候,服务器调用accept接收
int accept(int socket,struct socka