首页 > 其他分享 >12月20日

12月20日

时间:2025-01-10 18:34:18浏览次数:1  
标签:12 20 Socket println new public clientSocket out

今天继续学习网络编程
多线程服务器
在实际应用中,服务器通常需要同时处理多个客户端连接。多线程服务器可以通过为每个客户端连接创建一个新线程来实现。例如:

java
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class MultiThreadedServer {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(12345)) {
System.out.println("Server is listening on port 12345");

        while (true) {
            Socket clientSocket = serverSocket.accept();
            System.out.println("New client connected");

            Thread thread = new ClientHandler(clientSocket);
            thread.start();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

static class ClientHandler extends Thread {
    private final Socket clientSocket;

    public ClientHandler(Socket socket) {
        this.clientSocket = socket;
    }

    @Override
    public void run() {
        try (PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
             BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()))) {

            String request = in.readLine();
            System.out.println("Client request: " + request);
            out.println("Hello, Client!");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                clientSocket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

}
在这个例子中,服务器为每个客户端连接创建一个ClientHandler线程,处理客户端请求并发送响应。
通过今天的学习,我对Java网络编程有了较为深入的了解。

标签:12,20,Socket,println,new,public,clientSocket,out
From: https://www.cnblogs.com/wenbushi-dream/p/18664492

相关文章

  • 12月21日
    今天主要学习了Java中的反射(Reflection)机制,这是Java语言提供的强大功能,允许程序在运行时动态地获取类的信息、创建对象、调用方法和访问字段等。反射机制为Java程序提供了极大的灵活性和动态性,是实现框架和库等高级功能的基础。反射是指在程序运行时,能够获取任意一个类的属性和方......
  • 12月10日
    今日深入研读了Java中的异常处理机制,这是编程中极为关键的一环,它能有效保障程序的健壮性与稳定性,确保程序在遭遇错误时能够合理地响应并尽可能地继续执行。异常是指程序运行过程中出现的不正常情况,如除数为零、数组越界等。Java通过异常处理机制来应对这些突发状况。异常处理主要......
  • 12月11日
    今日继续深入研读了Java中的异常处理机制Java中的异常主要分为两大类:受检查异常(checkedexceptions)和非受检查异常(uncheckedexceptions)。受检查异常:是指那些在编译时需要显式处理的异常,如IOException、SQLException等。这类异常通常与程序的运行环境相关,如文件操作、网络通信等......
  • 12月13日
    今天主要学习了Java中的集合框架,这是Java编程中用于存储和管理对象集合的强大工具,它提供了一系列灵活的数据结构,能够满足不同的数据存储和操作需求。Java集合框架是一个统一的架构,用于表示和处理对象集合。它主要包含三大接口:Collection、Map以及它们的子接口和实现类。Collecti......
  • 12月14日
    昨日初步了解了集合框架的定义,今天深入了解建立集合框架添加元素:使用add方法(List和Set)或put方法(Map)向集合中添加元素。例如:javaListlist=newArrayList<>();list.add("Java");list.add("Python");Setset=newHashSet<>();set.add("Java");set.add("Python&......
  • 12月10日总结
    今天在哔哩哔哩学习了web前端页面的开发的相关知识,Web前端页面的开发是构建和优化网站用户界面的过程,主要包括实现用户界面的结构(HTML)、样式(CSS)和交互(JavaScript)功能。以下是对web前端页面开发的具体介绍:HTML:HTML用于定义网页的结构和内容,是构建网页的基础。通过使用各种标签,如标......
  • 12月11日总结
    今天复习了顺序表,顺序表是线性表的一种存储结构,它把线性表中的所有元素按照其逻辑顺序,依次存储到从计算机存储器中指定存储位置开始的一块连续的存储单元中。简单来说,就是用一组连续的内存单元来存放数据元素,数据元素之间的逻辑关系通过物理存储位置相邻来体现。优点有:随机访问......
  • 【CES】消费电子展 各年的主题1967-2025:专注于展示当时的最新技术。人工智能,元宇宙,电
    消费电子展(CES,ConsumerElectronicsShow)的正式举办始于1967年。虽然它在最初几年并没有一个明确的“主题”,但每年的展会确实都有其突出关注的技术方向和创新。直到近年来,CES才开始明确提出具体的年度主题。以下是1967年到2025年期间,CES的一些重要年度发展和技术趋势概述:......
  • YOLOv11改进,YOLOv11自研检测头融合HyCTAS的Self_Attention自注意力机制(2024),并添加小目
    摘要论文提出了一种新的搜索框架,名为HyCTAS,用于在给定任务中自动搜索高效的神经网络架构。HyCTAS框架结合了高分辨率表示和自注意力机制,通过多目标优化搜索,找到了一种在性能和计算效率之间的平衡。#理论介绍自注意力(Self-Attention)机制是HyCTAS框架中的一个重要组......
  • YOLOv8改进,YOLOv8自研检测头融合HyCTAS的Self_Attention自注意力机制,2024,并添加小目标
    摘要论文提出了一种新的搜索框架,名为HyCTAS,用于在给定任务中自动搜索高效的神经网络架构。HyCTAS框架结合了高分辨率表示和自注意力机制,通过多目标优化搜索,找到了一种在性能和计算效率之间的平衡。#理论介绍自注意力(Self-Attention)机制是HyCTAS框架中的一个重要组......