Java教程是为JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并且可能使用不再可用的技术。
有关Java SE 9和后续版本中更新的语言特性的摘要,请参阅Java语言更改。
有关所有JDK版本的新功能、增强功能以及删除或弃用选项的信息,请参阅JDK发行说明。
URL
和URLConnection
提供了一种相对高级的机制,用于访问Internet上的资源。有时,您的程序需要更低级的网络通信,例如当您想要编写一个客户端-服务器应用程序时。
在客户端-服务器应用程序中,服务器提供一些服务,例如处理数据库查询或发送当前股票价格。客户端使用服务器提供的服务,可以将数据库查询结果显示给用户,或者向投资者提供股票购买建议。客户端和服务器之间发生的通信必须可靠。也就是说,不能丢失任何数据,并且数据必须按照服务器发送的顺序到达客户端。
TCP提供了一种可靠的点对点通信通道,用于互联网上的客户端-服务器应用程序之间的通信。要在TCP上通信,客户端程序和服务器程序会互相建立连接。每个程序将一个套接字绑定到连接的一端。为了通信,客户端和服务器分别从绑定到连接的套接字中读取和写入数据。
套接字是在网络上运行的两个程序之间的双向通信链接的一端。套接字类用于表示客户端程序和服务器程序之间的连接。java.net包提供了两个类——Socket和ServerSocket,分别实现了连接的客户端和服务器端。
本页面包含一个小例子,演示了客户端程序如何从套接字读取和写入数据。
上一页展示了如何编写一个通过Socket对象与现有服务器进行交互的客户端程序的示例。本页面将展示如何编写实现连接的另一端——服务器程序。