# 课程：所有关于套接字

> 原文： [https://docs.oracle.com/javase/tutorial/networking/sockets/index.html](https://docs.oracle.com/javase/tutorial/networking/sockets/index.html)

`URL`和`URLConnection`为访问 Internet 上的资源提供了相对高级的机制。有时，您的程序需要较低级别的网络通信，例如，当您要编写客户端 - 服务器应用程序时。

在客户端 - 服务器应用程序中，服务器提供一些服务，例如处理数据库查询或发送当前股票价格。客户端使用服务器提供的服务，向用户显示数据库查询结果或向投资者提供股票购买建议。客户端和服务器之间发生的通信必须可靠。也就是说，不能丢弃任何数据，它必须按照服务器发送的顺序到达客户端。

TCP 提供可靠的点对点通信通道，Internet 上的客户端 - 服务器应用程序可以使用它们相互通信。为了通过 TCP 进行通信，客户端程序和服务器程序建立了彼此的连接。每个程序将套接字绑定到其连接的末尾。为了进行通信，客户端和服务器各自读取和写入绑定到连接的套接字。

## [什么是插座？](definition.html)

套接字是网络上运行的两个程序之间的双向通信链路的一个端点。套接字类用于表示客户端程序和服务器程序之间的连接。 java.net 包提供了两个类--Socket 和 ServerSocket - 分别实现连接的客户端和连接的服务器端。

## [读取和写入套接字](readingWriting.html)

此页面包含一个小示例，说明客户端程序如何读取和写入套接字。

## [编写客户/服务器对](clientServer.html)

上一页显示了如何编写通过 Socket 对象与现有服务器交互的客户端程序的示例。此页面向您展示如何编写实现连接另一端的程序 - 服务器程序。