服务端返回响应 &任务分配给线程

java 复制代码
package TCP6;

// 完成TCP通信服务端  多发多收


import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

public class Server {
    public static void main(String[] args) throws Exception {

        System.out.println("===============服务端启动成功================");

        //1:创建serverSocket的对象 同时为服务端注册端口
     ServerSocket serverSocket = new ServerSocket(8888);

     // 创建线程池 负责处理通信管道的任务
    ThreadPoolExecutor pool= new ThreadPoolExecutor(4*2,4*2, 0, TimeUnit.SECONDS,
                new ArrayBlockingQueue<>(8), Executors.defaultThreadFactory());


        while (true) {
            //2:使用serverSocket 对象 调用accept 方法 等待客户端连接请求
            Socket socket= serverSocket.accept();


            // 3:把客户端对应的Socket 通信管道 交给独立的线程负责
          pool.execute(new ServerReaderRunnable(socket));




        }

    }

}
java 复制代码
package TCP6;

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Random;

public class ServerReaderRunnable implements Runnable {


    private  Socket socket;
public ServerReaderRunnable(Socket socket) {
    this.socket=socket;
}
    @Override
    public void run() {
       // 立即响应一个网页内容: "你好你还好吗"给浏览器展示

        try {
            OutputStream os=socket.getOutputStream();
            PrintStream ps=new PrintStream(os);
            ps.println("HTTP/1.1 200 OK");
            ps.println("Content-Type:text/html;charset=UTF-8");
            ps.println();  //必须换行

            ps.println("<div  style='color:red;font-size:120px;text-align:center'>你好你还好吗 6666</div> ");



            socket.close();
            ps.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }


}
相关推荐
SizeTheMoment16 天前
List介绍
1024程序员节
开利网络18 天前
产业互联网+三融战略:重构企业增长密码
大数据·运维·服务器·人工智能·重构·1024程序员节
wei_shuo25 天前
从数据中台到数据飞轮:实现数据驱动的升级之路
1024程序员节·数据飞轮
玖剹1 个月前
矩阵区域和 --- 前缀和
数据结构·c++·算法·leetcode·矩阵·动态规划·1024程序员节
jamison_12 个月前
文心一言与 DeepSeek 的竞争分析:技术先发优势为何未能转化为市场主导地位?
人工智能·ai·chatgpt·gpt-3·1024程序员节
NaZiMeKiY2 个月前
HTML5前端第六章节
前端·html·html5·1024程序员节
jamison_12 个月前
颠覆未来:解锁ChatGPT衍生应用的无限可能(具体应用、功能、付费模式与使用情况)
ai·chatgpt·1024程序员节
NaZiMeKiY3 个月前
HTML5前端第七章节
1024程序员节
earthzhang20213 个月前
《Python深度学习》第四讲:计算机视觉中的深度学习
人工智能·python·深度学习·算法·计算机视觉·numpy·1024程序员节
明明真系叻3 个月前
2025.3.2机器学习笔记:PINN文献阅读
人工智能·笔记·深度学习·机器学习·1024程序员节·pinn