我们需要创建一个服务器端程序,它将监听一个特定的端口并等待客户端连接,以下是一个简单的服务器端代码:

import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
int port = 8080;
try {
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("服务器已启动,等待客户端连接...");
while (true) {
Socket clientSocket = serverSocket.accept();
System.out.println("客户端已连接: " + clientSocket.getInetAddress());
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("收到消息: " + inputLine);
out.println("服务器回复: " + inputLine);
}
in.close();
out.close();
clientSocket.close();
}
} catch (IOException e) {
System.out.println("服务器异常: " + e.getMessage());
}
}
}
我们需要创建一个客户端程序,它将连接到服务器并发送消息,以下是一个简单的客户端代码:
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
String serverAddress = "localhost";
int port = 8080;
try {
Socket socket = new Socket(serverAddress, port);
System.out.println("已连接到服务器: " + serverAddress + ":" + port);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));
String inputLine;
while (true) {
System.out.print("请输入消息: ");
inputLine = userInput.readLine();
if (inputLine.equalsIgnoreCase("exit")) {
break;
}
out.println(inputLine);
System.out.println("服务器回复: " + in.readLine());
}
userInput.close();
in.close();
out.close();
socket.close();
} catch (IOException e) {
System.out.println("客户端异常: " + e.getMessage());
}
}
}
要运行这个示例,首先启动服务器端程序,然后启动客户端程序,在客户端程序中输入消息,服务器将接收到这些消息并回复,当客户端输入"exit"时,客户端程序将关闭连接并退出。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!