Socket网络编程基础理解
作者:互联网
1、什么是套接字:
套接字是网络数据传输用的软件设备;
2、socket基础相关的函数理解(服务端)
2.1 调用socket函数生成“套接字”(相当于安装电话)
int socket(int domain, int type, int protocol);
domain:套接字中的协议族(protocol family)。
type:套接字数据传输类型信息。
protocol:计算机间通信中使用的协议信息。
返回值:成功时返回文件描述符,失败时返回-1;
2.2调用bind函数绑定ip和端口号(相当于给电话分配电话号码)
int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen);
sockfd:将要分配地址信息的套接字文件描述符。
myaddr:存有地址信息的结构体变量地址值。
addrlen:第二个变量的长度。
返回值:成功时返回0,失败时返回-1;
2.3调用listen函数把套接字转化成可接收的状态(相当于连接电话线)
int listen(int sockfd, int backlog);
sockfd:希望进入等待连接请求状态的套接字描述符,传递的描述符套接字成为服务器端套接字。
backlog:队列长度。
返回值:成功时返回0,失败时返回-1;
2.4接受对方的连接请求(相当于可以拿起电话接电话了)
int accept(int sockfd, struct sockaddr* addr, socklen_t* addrlen);
sockfd:服务器文件描述符。
addr:客户端地址信息的变量地址。
addrlen:存有第二个变量地址长度的变量地址。
返回值:成功时返回文件描述符,失败时返回-1;
3、socket基础相关的函数理解(客户端)
3.1 调用socket函数生成“套接字”(相当于安装电话)
int socket(int domain, int type, int protocol);
domain:套接字中的协议族(protocol family)。
type:套接字数据传输类型信息。
protocol:计算机间通信中使用的协议信息。
返回值:成功时返回文件描述符,失败时返回-1;
3.2 调用connect函数向服务器发送连接请求;
int connect(int sockfd, struct sockaddr* server_addr, socklen_t addrlen);
sockfd:客户端套接字文件描述符。
server_addr:服务端地址信息的变量地址。
addrlen:存有第二个变量地址长度的变量地址。
返回值:成功时返回0,失败时返回-1;
4、Linux案例
标签:返回,Socket,int,编程,网络,地址,描述符,sockfd,接字 来源: https://www.cnblogs.com/SanMu-1230/p/15735793.html