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

java socket编程

作者:至尊巅峰   发布日期:2025-05-27   浏览:36

import java.io.*;
import java.net.*;

public class EchoServer {
    public static void main(String[] args) throws IOException {
        // 创建一个服务器端的Socket,指定端口号为8080
        ServerSocket serverSocket = new ServerSocket(8080);
        System.out.println("服务器已启动,等待客户端连接...");

        try {
            while (true) {
                // 接受客户端的连接请求
                Socket clientSocket = serverSocket.accept();
                System.out.println("客户端已连接");

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

                String inputLine;
                // 读取客户端发送的消息并回显给客户端
                while ((inputLine = in.readLine()) != null) {
                    if ("bye".equalsIgnoreCase(inputLine)) {
                        out.println("再见");
                        break;
                    }
                    System.out.println("收到客户端消息: " + inputLine);
                    out.println("Echo: " + inputLine);
                }

                // 关闭资源
                in.close();
                out.close();
                clientSocket.close();
            }
        } finally {
            // 关闭服务器端的Socket
            serverSocket.close();
        }
    }
}

解释说明:

  1. 创建服务器:使用 ServerSocket 类创建一个服务器端的Socket,并绑定到指定的端口(这里使用8080端口)。
  2. 等待客户端连接:通过 serverSocket.accept() 方法阻塞等待客户端的连接请求。
  3. 处理客户端连接:一旦有客户端连接,获取该连接的输入输出流,用于与客户端进行通信。
  4. 读取消息并回显:从输入流中读取客户端发送的消息,并将相同的消息通过输出流回显给客户端。如果客户端发送的消息是 "bye",则结束会话。
  5. 关闭资源:在每次会话结束后,关闭相关的输入输出流和Socket连接,以释放资源。

以上代码实现了一个简单的Echo服务器,它会接收客户端发送的消息并将其原样返回给客户端。

上一篇:java 自定义异常

下一篇:java override

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

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

Laravel 中文站