编程语言
首页 > 编程语言> > Socket网络编程基础理解

Socket网络编程基础理解

作者:互联网

image

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