在Java中,启动客户端或服务器取决于服务器是否已经启动可以通过以下步骤实现:
以下是具体代码示例:
服务器端代码:
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(12345); // 监听端口号为12345
System.out.println("服务器已启动,等待客户端连接...");
Socket clientSocket = serverSocket.accept(); // 等待客户端连接
System.out.println("客户端已连接");
// 获取输入输出流
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
// 接收客户端消息
String message = in.readLine();
System.out.println("客户端消息: " + message);
// 向客户端发送消息
out.println("已收到您的消息");
// 关闭连接
in.close();
out.close();
clientSocket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端代码:
import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("服务器IP地址", 12345); // 连接服务器IP地址和端口号
System.out.println("已连接服务器");
// 获取输入输出流
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
// 向服务器发送消息
out.println("Hello, Server");
// 接收服务器消息
String message = in.readLine();
System.out.println("服务器消息: " + message);
// 关闭连接
in.close();
out.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这样,通过以上代码示例,可以实现客户端与服务器的通信。当服务器启动后,等待客户端的连接请求,当客户端连接到服务器后,服务器可以接收客户端的消息并进行处理,同时也可以向客户端发送消息。
领取专属 10元无门槛券
手把手带您无忧上云