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

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();
        }
    }


}
相关推荐
网安_秋刀鱼17 小时前
【java安全】shiro反序列化1(shiro550)
java·开发语言·安全·web安全·网络安全·1024程序员节
unable code3 天前
攻防世界-Misc-Wire1
网络安全·ctf·misc·1024程序员节
开开心心就好3 天前
版本转换工具,支持Win双系统零售批量版
linux·运维·服务器·pdf·散列表·零售·1024程序员节
开开心心就好4 天前
免费卸载工具,可清理残留批量管理启动项
linux·运维·服务器·windows·随机森林·pdf·1024程序员节
unable code4 天前
攻防世界-Misc-4-1
网络安全·ctf·misc·1024程序员节
yBmZlQzJ5 天前
免费内网穿透-端口转发配置介绍
运维·经验分享·docker·容器·1024程序员节
金融小师妹7 天前
AI算法视角下非农夜冲击波来袭,黄金高位区间震荡态势的深度神经网络解析
大数据·深度学习·1024程序员节
全栈小59 天前
【数据库】浙人医携手金仓数据库,打造全国首个多院区异构多活容灾架构
数据库·1024程序员节·金仓
CoderYanger11 天前
贪心算法:7.最长连续递增序列
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger11 天前
贪心算法:6.递增的三元子序列
java·算法·leetcode·贪心算法·1024程序员节