套接字(Socket)

← 返回 MOC | ← 主页


找到 IP 只是找到了那台机器,但一台机器上同时跑着浏览器、微信、游戏,数据到底该交给谁?靠的是端口号。套接字就是”IP + 端口”的组合,操作系统用它来精确找到目标进程。

通信流程

客户端和服务端的角色不同,流程也不对称:

服务端先准备好,客户端再来连。

步骤服务端客户端
1创建套接字创建套接字
2bind — 绑定 IP 和端口,声明”我在这里”
3listen — 开始监听,等待连接请求
4accept — 阻塞等待,直到客户端连进来connect — 向服务端发起连接
5通信(收发数据)通信(收发数据)
6关闭连接关闭连接

服务端的 accept 会一直等,直到有客户端 connect 进来,两边才同时进入通信阶段。

选 TCP 还是 UDP?

创建套接字的时候就要选好:

  • 需要可靠传输 → TCP,连接建立后才能通信,见 TCP协议
  • 需要快、允许丢包 → UDP,直接发,见 UDP协议

如果你正在跟随梳理, 返回 MOC←