这是一个简单的Java客户端接入服务器的示例:,,“
java,import java.io.*;,import java.net.*;,,public class Client {, public static void main(String[] args) {, try {, Socket socket = new Socket("localhost", 8080);, BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));, PrintWriter out = new PrintWriter(socket.getOutputStream(), true);, out.println("Hello, Server!");, System.out.println("Server says: " + in.readLine());, socket.close();, } catch (IOException e) {, e.printStackTrace();, }, },},
“,,这个示例中,客户端连接到本地主机(localhost)的8080端口,并向服务器发送一条消息。它从服务器接收一条消息并将其打印到控制台。关闭套接字连接。1、我们需要创建一个服务器端,服务器端将监听一个特定的端口,等待客户端的连接请求,当客户端连接时,服务器将接收客户端发送的消息,并将其原样返回给客户端。

(图片来源网络,侵删)
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()); // 为每个客户端创建一个新的线程处理通信 new Thread(new ClientHandler(clientSocket)).start(); } } catch (IOException e) { e.printStackTrace(); } } } class ClientHandler implements Runnable { private Socket clientSocket; public ClientHandler(Socket socket) { this.clientSocket = socket; } @Override public void run() { try { 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); // 将收到的消息原样返回给客户端 } } catch (IOException e) { e.printStackTrace(); } finally { try { clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
2、我们需要创建一个客户端,客户端将连接到服务器,并发送一条消息,然后接收服务器返回的消息。
import java.io.*; import java.net.*; public class Client { public static void main(String[] args) { String serverAddress = "localhost"; // 服务器地址 int serverPort = 8080; // 服务器监听的端口号 try { Socket socket = new Socket(serverAddress, serverPort); // 连接到服务器 System.out.println("已连接到服务器"); // 发送消息到服务器 PrintWriter out = new PrintWriter(socket.getOutputStream(), true); out.println("你好,服务器!"); // 接收服务器返回的消息 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); String response = in.readLine(); System.out.println("收到服务器回复: " + response); // 关闭资源 in.close(); out.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } }
3、分别运行Server和Client类,首先启动Server,然后启动Client,你将在Server的控制台看到客户端连接的信息以及收到的消息,同时在Client的控制台看到收到的服务器回复的消息。

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