利用Java Socket 编写一个程序实现简单的客户和服务器 通信。客户端连接服务器端并给服务器端发送“你好服 务器!”服务器端收到在控制台输出,并给客服端发送“你 好客户端”;客端收到服务器端信息后,把信息打印在控 制台
时间: 2024-03-20 20:43:32 浏览: 48
好的,我会为您详细介绍如何使用 Java Socket 编写一个客户端和服务器端通信的程序。
首先,我们需要创建一个服务器端程序。以下是一个简单的服务器端程序的代码:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(9999);
System.out.println("等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("客户端发送消息:" + inputLine);
out.println("你好客户端");
}
}
}
```
上述代码创建了一个 ServerSocket 对象,监听端口号为 9999。当有客户端连接时,会创建一个 Socket 对象,并在控制台输出客户端已连接的消息。同时,通过 BufferedReader 对象读取客户端发送过来的消息,并在控制台输出消息内容。最后,通过 PrintWriter 对象向客户端发送消息。
接下来,我们需要创建一个客户端程序。以下是一个简单的客户端程序的代码:
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 9999);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("你好服务器!");
String response;
while ((response = in.readLine()) != null) {
System.out.println("服务器发送消息:" + response);
}
}
}
```
上述代码创建了一个 Socket 对象,连接到本地服务器的 9999 端口。通过 PrintWriter 对象向服务器发送消息,并通过 BufferedReader 对象读取服务器发送过来的消息,并在控制台输出消息内容。
现在我们可以运行服务器端程序和客户端程序,并在控制台观察程序的输出。当客户端连接成功后,客户端会向服务器发送一条消息“你好服务器!”,服务器收到消息后会在控制台输出消息内容,并向客户端发送一条消息“你好客户端”。客户端接收到服务器发送过来的消息后,会在控制台输出消息内容。这样,我们就成功地实现了客户端和服务器端的通信。
阅读全文