2.8 套接字编程

2.1 应用层原理概述已经讲解了关于 Socket 的概念。简单来说,Socket 即是位于应用层与传输层之间的的 SAP,应用程序通过调用 Socket API,才能通过使用传输层服务来与其它应用程序建立通信。

按照选取的传输层协议的不同,可以将 Socket 大致分为 UDP Socket 与 TCP Socket。

TCP Socket

从应用程序的角度来看,TCP Socket 能够提供在分布式进程之间的可靠的 字节流 服务。

应用程序通过 TCP Socket 建立通信的一个典型过程如下:

连接建立后客户端与服务器交互的动作也遵循一个自然而然的次序:客户端主动向服务器发起一个动作指令,服务器被动响应该指令并将结果返回给客户端。

UDP Socket

从应用程序的角度来看,UDP Socket 能够提供在分布式进程之间的不可靠的 字节组 传送服务。

与 TCP 相比,应用程序通过 UDP Socket 通信的过程要简单很多: