1、SOCKET套接字基础
操作系统提供,用于开发网络应用的一系列API函数,我们称之为套接字函数
套接字函数适用于各个语言和平台,除了API可以不同,其他概念理论或流程逻辑都相同
1、在Linux操作系统中,sock为整型,也称int sockfd,sock描述符,后续网络通信都是用此描述符
2、int sockfd,包含网络信息,默认下包含默认地址0.0.0.0与随机端口,因此sockfd创建后可以立即使用
3、int sockfd,套接字描述符,后续用于数据传输,recv(int sock),send(sockfd),sendto(sockfd),recvfrom(sockfd)
4、struct socksddr_in网络信息结构体
socket函数
socket()——socket创建
int sockfd=socket(AF_INET|AF_INET6,SOCK_STREAM|SOCK_DGRAM,0);
第一个参数——指定使用的socket协议
第二个参数——传输层协议,TCP或UDP
返回值——成功返回整型的(大于0的)socket,失败返回-1
当刚创建时,socket包含的ip为本机任意ip,包含的端口号为随机端口号,因此刚创建出来时就可以使用
因此客户端的sockfd创建以后,无需绑定,也可以使用,因为里面含有本机任意ip和端口号
bind()——socket绑定
int value=bind(int sockfd,struct sockaddr* addr,socklen_t addrlen);