import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(9999);
System.out.println("服务器启动,等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
String input, output;
while (true) {
input = reader.readLine();
System.out.println("客户端: " + input);
if (input.equalsIgnoreCase("exit")) {
break;
}
System.out.print("请输入回复消息: ");
output = consoleReader.readLine();
writer.println(output);
if (output.equalsIgnoreCase("exit")) {
break;
}
}
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 9999);
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
String input, output;
while (true) {
System.out.print("请输入消息: ");
output = consoleReader.readLine();
writer.println(output);
if (output.equalsIgnoreCase("exit")) {
break;
}
input = reader.readLine();
System.out.println("服务器: " + input);
if (input.equalsIgnoreCase("exit")) {
break;
}
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这里提供了一个简单的TCP聊天案例,包括服务端和客户端的代码。你可以分别运行这两个程序,服务端监听9999端口,客户端连接到该端口,然后实现简单的信息传递。当输入"exit"时,程序将退出。希望对你有帮助!
|