Socket 是一种网络通信的抽象层。它提供了一组类似于文件读写的接口,使得应用程序能够通过这些接口与其他应用程序进行通信。底层实现利用了网络协议,如 TCP 和 UDP。
TCP (Transmission Control Protocol) 是一种面向连接的协议,它在传输数据之前会建立可靠的连接。连接建立之后,双方可以进行数据传输。TCP 会自动处理数据的确认和重传,确保数据正确地传输到对方。
UDP (User Datagram Protocol) 是一种无连接的协议。它不像 TCP 那样需要先建立连接,而是直接发送数据报。UDP 的优点在于简单快速,缺点在于不保证数据的可靠传输。
底层的网络连接使用了网络地址和端口来标识。网络地址是一个 IP 地址,表示设备的网络位置。端口是一个整数,用于标识应用程序在设备上的不同服务。