温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用Java Socket创建服务器端

发布时间:2025-09-28 01:15:46 来源:亿速云 阅读:101 作者:小樊 栏目:编程语言

在Java中,使用java.net.ServerSocket类可以创建一个服务器端,该服务器端可以监听客户端的连接请求。以下是一个简单的示例,展示了如何使用ServerSocket创建一个基本的TCP服务器:

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

public class SimpleServer {
    public static void main(String[] args) {
        // 服务器端口
        int port = 12345;

        try {
            // 创建ServerSocket实例,绑定到指定端口
            ServerSocket serverSocket = new ServerSocket(port);
            System.out.println("服务器已启动,正在监听端口 " + port);

            while (true) {
                // 等待客户端连接
                Socket clientSocket = serverSocket.accept();
                System.out.println("客户端已连接: " + clientSocket.getInetAddress().getHostAddress());

                // 处理客户端请求
                handleClient(clientSocket);
            }
        } catch (IOException e) {
            System.err.println("服务器异常: " + e.getMessage());
            e.printStackTrace();
        }
    }

    private static void handleClient(Socket clientSocket) {
        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) {
            System.err.println("处理客户端请求时发生异常: " + e.getMessage());
            e.printStackTrace();
        } finally {
            try {
                // 关闭客户端连接
                clientSocket.close();
            } catch (IOException e) {
                System.err.println("关闭客户端连接时发生异常: " + e.getMessage());
                e.printStackTrace();
            }
        }
    }
}

代码说明:

  1. 创建ServerSocket实例:使用new ServerSocket(port)创建一个ServerSocket实例,并绑定到指定的端口。
  2. 监听客户端连接:使用serverSocket.accept()方法等待客户端连接。当有客户端连接时,该方法会返回一个Socket实例。
  3. 处理客户端请求:使用Socket实例获取输入流和输出流,读取客户端发送的数据,并向客户端发送响应。
  4. 关闭连接:在处理完客户端请求后,关闭客户端连接。

注意事项:

  • 确保服务器端口没有被其他应用程序占用。
  • 处理客户端请求时,要考虑到异常情况,并进行适当的错误处理。
  • 在实际应用中,可能需要使用多线程或多进程来处理多个客户端的并发连接。

这个示例展示了如何创建一个简单的TCP服务器,实际应用中可能需要根据具体需求进行扩展和优化。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI