在现代软件开发中,Java TCP/IP套接字编程是实现网络通信的基础技能之一。无论你是想开发聊天应用、远程控制工具,还是构建分布式系统,掌握Socket通信都是必不可少的。本教程将带你从零开始,一步步理解并编写Java网络编程入门级别的TCP客户端与服务器程序。

套接字(Socket)是网络通信的端点,它允许两个程序通过网络进行数据交换。在Java Socket示例代码中,我们通常使用java.net.Socket(客户端)和java.net.ServerSocket(服务器)类来实现基于TCP协议的可靠连接。
TCP(传输控制协议)是一种面向连接的协议,确保数据按顺序、无差错地传输。这使得它非常适合需要高可靠性的应用场景。
服务器的作用是监听特定端口,等待客户端连接,并处理传入的数据。以下是一个简单的回显服务器(Echo Server):
import java.io.*;import java.net.*;public class EchoServer { public static void main(String[] args) { try (ServerSocket serverSocket = new ServerSocket(8080)) { System.out.println("服务器已启动,监听端口 8080..."); while (true) { Socket clientSocket = serverSocket.accept(); System.out.println("新客户端连接:" + clientSocket.getInetAddress()); // 启动新线程处理每个客户端 new Thread(() -> handleClient(clientSocket)).start(); } } catch (IOException e) { e.printStackTrace(); } } private static void handleClient(Socket socket) { try ( BufferedReader in = new BufferedReader( new InputStreamReader(socket.getInputStream()) ); PrintWriter out = new PrintWriter(socket.getOutputStream(), true) ) { String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println("收到消息: " + inputLine); out.println("服务器回显: " + inputLine); // 回显给客户端 } } catch (IOException e) { e.printStackTrace(); } finally { try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } }}客户端负责连接到服务器,并发送/接收数据。以下是对应的客户端代码:
import java.io.*;import java.net.*;public class EchoClient { public static void main(String[] args) { try ( Socket socket = new Socket("localhost", 8080); BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader(socket.getInputStream()) ) ) { System.out.println("已连接到服务器。输入消息(输入'exit'退出):"); String userInput; while ((userInput = stdIn.readLine()) != null) { out.println(userInput); if ("exit".equalsIgnoreCase(userInput)) { break; } System.out.println("服务器回复: " + in.readLine()); } } catch (IOException e) { System.err.println("连接失败: " + e.getMessage()); } }}EchoServer.java,客户端代码保存为 EchoClient.java。javac EchoServer.java EchoClient.javajava EchoServerjava EchoClientlocalhost 或 127.0.0.1。当你掌握了这个基础的Socket通信教程后,可以尝试:
希望这篇教程能帮助你顺利开启Java TCP/IP套接字编程之旅!如有疑问,欢迎在评论区交流。
本文由主机测评网于2025-12-22发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251211263.html