java网络编程聊天室代码
时间: 2023-12-20 12:31:09 浏览: 28
以下是一个基于TCP协议的Java网络编程聊天室的代码示例:
服务端代码:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器已启动,等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接,IP地址为:" + socket.getInetAddress().getHostAddress());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
String line;
while ((line = in.readLine()) != null) {
System.out.println("客户端:" + line);
if (line.equals("bye")) {
break;
}
System.out.print("请输入回复内容:");
String response = br.readLine();
out.println(response);
out.flush();
}
in.close();
out.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
客户端代码:
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 8888);
System.out.println("已连接服务器,IP地址为:" + socket.getInetAddress().getHostAddress());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
String line;
while (true) {
System.out.print("请输入发送内容:");
line = br.readLine();
out.println(line);
out.flush();
if (line.equals("bye")) {
break;
}
String response = in.readLine();
System.out.println("服务器:" + response);
}
in.close();
out.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```