基于TCP的C/S通信程序:服务器端Socket函数解析
基于TCP的C/S通信程序:服务器端Socket函数解析
在编制通信应用程序时,我们通常使用Socket套接字。这里假设要使用Socket编制一个基于TCP的C/S方式的通信程序,本文将重点介绍服务器端软件所用到的主要的Socket函数。
服务器端主要Socket函数
流程图:
graph LR
A[socket()] --> B[bind()]
B --> C[listen()]
C --> D[accept()]
D --> E{recv()}
E --> F{send()}
F --> E
E --> G[close()]
函数功能说明:
-
socket():创建一个套接字,返回一个文件描述符。
-
bind():将套接字与本地的IP地址和端口号绑定。
-
listen():使套接字处于监听状态,等待客户端的连接请求。
-
accept():接受客户端的连接请求,返回一个新的套接字,用于与客户端进行通信。
-
recv():接收客户端发送的数据。
-
send():向客户端发送数据。
-
close():关闭套接字。
五元组示例
假设客户端的IP为192.168.0.1,客户端生成的端口号为1565,服务器端的IP为192.168.0.10,使用的端口号是88,则标志客户端和服务器端的一个基于TCP连接的全相关的五元组为:
(192.168.0.10, 88, 192.168.0.1, 1565, TCP)
原文地址: https://www.cveoy.top/t/topic/obId 著作权归作者所有。请勿转载和采集!