开始学习
TCP 网络套接字
TCP 网络套接字,也称为流式套接字,是面向连接的通信。因此在 TCP 网络编程中,通常分为服务器端和客户端两部分,大致流程如下。
TCP 服务器端编程步骤:
- 创建服务端套接字(使用 socket 函数);
- 绑定 socket 到一个 IP 地址和一个端口上(使用 bind 函数);
- 将套接字设置为监听模式,等待连接请求(使用 listen 函数);
- 请求到来后,接受连接请求,返回一个新的对应此次连接的套接字(使用 accept 函数);
- 用返回的新的套接字和客户端进行通信,即发送或接收数据(使用 send 和 recv 函数),通信结束则关闭这个新创建的套接字(使用 close 函数);
- 监听套接字继续处于监听状态,等待其他客户端的连接请求;
- 如果要退出服务端程序,则先关闭监听套接字(使用 close 函数)。
TCP 客户端编程步骤:
- 创建客户端套接字(使用 socket 函数);
- 向服务器端发出连接请求(使用 connect 函数);
- 连接成功即可与服务器端通信,即发送或接收数据(使用 send 和 recv 函数);
- 如果要关闭客户端程序,则先关闭套接字(使用 close 函数)。
下面是 TCP 网络套接字服务器端和客户端连接过程的示意图。