Java Socket 编程17 Mar 2025 | 4 分钟阅读 Java Socket 编程用于不同 JRE 上运行的应用程序之间的通信。 Java Socket 编程可以是面向连接的,也可以是无连接的。 Socket 和 ServerSocket 类用于面向连接的套接字编程,而 DatagramSocket 和 DatagramPacket 类用于无连接的套接字编程。 套接字编程中的客户端必须知道两个信息:
在这里,我们将进行单向客户端和服务器通信。在此应用程序中,客户端向服务器发送消息,服务器读取消息并打印。这里使用了两个类:Socket 和 ServerSocket。Socket 类用于通信客户端和服务器。通过这个类,我们可以读写消息。ServerSocket 类用于服务器端。ServerSocket 类的 accept() 方法会阻塞控制台,直到客户端连接。成功连接客户端后,它会在服务器端返回 Socket 的实例。 ![]() Socket 类套接字只是机器之间通信的一个端点。Socket 类可用于创建套接字。 重要方法
ServerSocket 类ServerSocket 类可用于创建服务器套接字。此对象用于与客户端建立通信。 重要方法
Java Socket 编程示例创建服务器 要创建服务器应用程序,我们需要创建 ServerSocket 类的实例。在这里,我们使用 6666 端口号进行客户端和服务器之间的通信。您也可以选择其他端口号。accept() 方法等待客户端。如果客户端连接到指定的端口号,它将返回 Socket 的实例。 创建客户端 要创建客户端应用程序,我们需要创建 Socket 类的实例。在这里,我们需要传递服务器的 IP 地址或主机名以及端口号。在这里,我们使用“localhost”,因为我们的服务器运行在同一系统上。 让我们看一个简单的 Java Socket 编程示例,其中客户端发送文本,服务器接收并打印它。 文件:MyServer.java 文件:MyClient.java 要执行此程序,请打开两个命令提示符,并在每个命令提示符下按下面图所示执行每个程序。 运行客户端应用程序后,将在服务器控制台显示一条消息。 ![]() Java Socket 编程示例(双向读写)在此示例中,客户端将首先写入服务器,然后服务器将接收并打印文本。然后服务器将写入客户端,客户端将接收并打印文本。以此类推。 文件:MyServer.java 文件:MyClient.java Java Socket 编程选择题1. 在 Java 中,用于创建服务器套接字的类是?
答案:a) 解释:ServerSocket 用于创建一个监听传入客户端连接的服务器。 2. HTTP 服务器的默认端口号是什么?
答案:c) 解释:端口 80 是 HTTP 服务器的默认端口号。 3. 用于从套接字的输入流读取数据的方法是?
答案:b) 解释:read() 方法用于从输入流中读取数据。 4. 如果在已关闭的套接字上执行套接字操作,会抛出哪个异常?
答案:b) 解释:当尝试在已关闭的套接字上执行套接字操作时,会抛出 SocketException。 5. bind() 方法在套接字编程中的作用是什么?
答案:c) 解释:Java 的 bind() 方法将套接字与本地地址关联。 下一个主题URL class |
我们请求您订阅我们的新闻通讯以获取最新更新。