socket(套接字)连接过程

680 阅读2分钟

本文正在参与 “网络协议必知必会”征文活动

  • 目录
  • 前言
  • 正文
    • 服务器监听
    • 客户端请求
    • 连接确认

前言

熟悉网络编程的同学都知道,套接字(socket)是通信的基石,是支持 TCP/IP 协议通信的基本操作单元。也可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。

正文

套接字之间的连接过程可以分为三个步骤,接下来介绍每个步骤的详细过程。

image.png

1. 服务器监听

服务器端套接字并不指定具体的客户端套接字,而是一直处于等待连接的状态,实时监控网络状态。

2. 客户端请求

由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。

3. 连接确认

当服务器端套接字监听到或者接收到客户端套接字的连接请求,它就响应该请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认此描述,连接就建立好了。注意:此时,服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。

作者简介:大家好,我是 Data-Mining(liuzhen007),是一位音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,公众号:玩转音视频。同时也是 CSDN 博客专家、华为云社区云享专家、签约作者,欢迎关注我分享更多干货!