Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 网络编程

作者:自然ㄣ之光   发布日期:2025-08-12   浏览:7

// Java 网络编程示例代码:简单的 TCP 服务器和客户端

// 服务器端代码
import java.io.*;
import java.net.*;

public class TCPServer {
    public static void main(String[] args) {
        try {
            // 创建一个服务器套接字,监听端口 12345
            ServerSocket serverSocket = new ServerSocket(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 inputLine;
            while ((inputLine = in.readLine()) != null) {
                System.out.println("收到客户端消息: " + inputLine);
                // 向客户端发送响应
                out.println("服务器已收到你的消息: " + inputLine);
            }

            // 关闭资源
            in.close();
            out.close();
            clientSocket.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", 12345);

            // 获取输入输出流
            BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
            PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            // 发送消息给服务器并接收响应
            String userInput;
            while ((userInput = stdIn.readLine()) != null) {
                out.println(userInput);
                System.out.println("服务器响应: " + in.readLine());
            }

            // 关闭资源
            in.close();
            out.close();
            socket.close();
        } catch (UnknownHostException e) {
            System.err.println("未知主机");
        } catch (IOException e) {
            System.err.println("I/O 错误");
        }
    }
}

解释说明:

  1. TCPServer 类:

    • ServerSocket 用于创建服务器端套接字,监听指定端口(如 12345)。
    • accept() 方法阻塞等待客户端连接。
    • 使用 BufferedReaderPrintWriter 读取和发送数据。
  2. TCPClient 类:

    • Socket 用于创建客户端套接字,连接到服务器的 IP 地址和端口。
    • 通过 BufferedReaderPrintWriter 与服务器进行通信。
    • 用户输入消息后,客户端将消息发送给服务器,并接收服务器的响应。

这个示例展示了如何使用 Java 进行基本的 TCP 网络编程。

上一篇:java爬取网页数据

下一篇:java completefuture

大家都在看

java连接数据库的代码

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java实体类转json字符串

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站