帮我用java写一个基于TCP协议的简易聊天机器人并且能在idea上完美运行的详细代码
时间: 2024-02-20 09:02:07 浏览: 74
Java基于TCP协议的简单聊天工具代码
好的,以下是基于TCP协议的简易聊天机器人的Java代码:
服务端代码:
```java
import java.io.*;
import java.net.*;
public class ChatServer {
public static void main(String[] args) {
try {
// 创建ServerSocket对象,监听8080端口
ServerSocket serverSocket = new ServerSocket(8080);
System.out.println("服务端已启动,等待客户端连接...");
// 等待客户端连接
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
// 获取输入输出流
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
// 循环读取客户端发送的消息
while (true) {
String msg = reader.readLine();
if (msg == null) {
break;
}
System.out.println("客户端说:" + msg);
// 读取控制台输入的消息,并发送给客户端
String response = br.readLine();
writer.write(response + "\n");
writer.flush();
}
// 关闭资源
br.close();
writer.close();
reader.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
客户端代码:
```java
import java.io.*;
import java.net.*;
public class ChatClient {
public static void main(String[] args) {
try {
// 创建Socket对象,连接服务端
Socket socket = new Socket("localhost", 8080);
System.out.println("连接成功");
// 获取输入输出流
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
// 循环读取控制台输入的消息,并发送给服务端
while (true) {
String msg = br.readLine();
writer.write(msg + "\n");
writer.flush();
// 读取服务端发送的消息
String response = reader.readLine();
System.out.println("服务端说:" + response);
}
// 关闭资源
br.close();
writer.close();
reader.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在 IDEA 中运行:
1. 新建一个 Java 项目,将上述代码分别复制到 `ChatServer.java` 和 `ChatClient.java` 文件中
2. 打开 `ChatServer.java` 文件,点击运行按钮,启动服务端
3. 打开 `ChatClient.java` 文件,点击运行按钮,启动客户端,在控制台输入消息即可与服务端进行聊天
注意:需要先启动服务端,再启动客户端。如果要进行多次聊天,只需要在客户端中循环读取输入的消息即可。
阅读全文