编写一个Java程序,创建服务器端,接收客户端发送过来的信息,验证其是否为“Java”,如果是,发送“有效口令”给客户端,否则发送“无效口令”给客户端。
时间: 2023-11-28 12:03:57 浏览: 27
好的,这是一个简单的 Java 网络编程任务,需要使用 Socket 和 ServerSocket 类来实现。下面是一个示例代码,可以实现您的需求:
服务器端代码:
```
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws Exception {
// 创建 ServerSocket 对象,监听指定端口
ServerSocket server = new ServerSocket(8888);
System.out.println("服务器已启动,等待客户端连接...");
while (true) {
// 等待客户端连接
Socket socket = server.accept();
System.out.println("客户端已连接:" + socket.getRemoteSocketAddress());
// 创建输入输出流
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
PrintWriter pw = new PrintWriter(os);
// 读取客户端发送的数据
String input = br.readLine();
System.out.println("客户端发送的数据:" + input);
// 验证口令是否为 "Java"
if ("Java".equals(input)) {
pw.println("有效口令");
} else {
pw.println("无效口令");
}
pw.flush();
// 关闭连接
socket.close();
System.out.println("客户端已断开连接。");
}
}
}
```
客户端代码:
```
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws Exception {
// 创建 Socket 对象,连接服务器
Socket socket = new Socket("localhost", 8888);
System.out.println("连接服务器成功:" + socket.getRemoteSocketAddress());
// 创建输入输出流
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
PrintWriter pw = new PrintWriter(os);
// 发送数据到服务器
pw.println("Java");
pw.flush();
// 读取服务器返回的数据
String response = br.readLine();
System.out.println("服务器返回的数据:" + response);
// 关闭连接
socket.close();
System.out.println("与服务器的连接已断开。");
}
}
```
运行该程序,先启动服务器端,再启动客户端,客户端发送数据后服务器会进行验证,并返回相应的信息。
希望这个示例代码对您有所帮助,谢谢!