请用java写一个用于局域网文字通信的程序
时间: 2023-06-05 14:07:05 浏览: 71
好的,以下是 Java 代码实现局域网文字通信的程序:
```
import java.io.*;
import java.net.*;
public class ChatServer {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(9999); // 监听9999端口
System.out.println("服务器已启动,等待客户端连接...");
Socket socket = serverSocket.accept(); // 等待客户端连接
System.out.println("客户端已连接:" + socket.getInetAddress().getHostAddress());
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); // 读取客户端数据
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); // 向客户端发送数据
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in)); // 读取控制台输入的数据
String input;
while ((input = reader.readLine()) != null) { // 循环读取客户端数据
System.out.println("客户端:" + input);
String output = consoleReader.readLine(); // 读取控制台输入的数据
writer.write(output); // 向客户端发送数据
writer.newLine(); // 写入换行符
writer.flush(); // 刷新缓冲区
}
socket.close(); // 关闭连接
serverSocket.close(); // 关闭服务器
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
客户端代码如下:
```
import java.io.*;
import java.net.*;
public class ChatClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("127.0.0.1", 9999); // 连接服务器
System.out.println("已连接服务器:" + socket.getInetAddress().getHostAddress());
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); // 读取服务器数据
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); // 向服务器发送数据
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in)); // 读取控制台输入的数据
String input;
while ((input = consoleReader.readLine()) != null) { // 循环读取控制台输入的数据
writer.write(input); // 向服务器发送数据
writer.newLine(); // 写入换行符
writer.flush(); // 刷新缓冲区
String output = reader.readLine(); // 读取服务器数据
System.out.println("服务器:" + output);
}
socket.close(); // 关闭连接
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上代码实现了一个简单的基于 Socket 的文字通信程序,在两个本地客户端之间可以进行通信。注意,如果要在不同的电脑上使用,需要将服务器 IP 地址修改为对应的局域网 IP。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)