目录
1.socket 创建套接字(可以理解为网络的一个通道或者函数接口)
5.recv 接收数据,成功返回数据的实际长度,失败返回-1。
9.sprintf:将多个不同类型的数据存放在一个字符串里面
10.fscanf和scanf的区别:fscanf是从文件中读取数据,scanf是从屏幕上读取数据
1.socket 创建套接字(可以理解为网络的一个通道或者函数接口)
int socket(int domain, int type, int protocol);
man 手册:man socket
参数:domain:AF_INET(ipv4的地址族)
type:SOCK_STREAM(流式套接字):tcp传输层协议(面向连接,数据顺序发送,一对一的可靠通信)
SOCK_DGRAM(报式套接字):udp传输层协议(无连接的通信,数据是打包成数据包发送的,不一定按顺序到达,效率很高)
protocol:0(type类型对应的默认协议)
返回值:
成功则返回流式套接字(特殊的文件描述符)sockfd 0~1023
失败则返回-1。
2.bind绑定套接字和服务地址
bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
参数:sockfd(socket函数的返回值):流式套接字
sockaddr:服务器结构体的地址
addrlen:服务器结构体的长度
返回值:
成功则返回0
失败则返回-1。
3.listen 监听套接字
int listen(int sockfd,int backlog);
功能:设置套接字
参数:
sockfd:socket函数的返回值:流式套接字
backlog:最大同时等待队列长度(队列:先进先出),也就是最多同时连接服务器的客户端个数
返回值:
成功返回0;
失败返回-1。
注意:经过l