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

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


}
相关推荐
学传打活19 小时前
古代汉语是源,现代汉语是流,源与流一脉相承。
微信公众平台·1024程序员节·汉字·中华文化
学传打活6 天前
【边打字.边学昆仑正义文化】_19_星际生命的生存状况(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
unable code13 天前
[HNCTF 2022 WEEK2]ez_ssrf
网络安全·web·ctf·1024程序员节
unable code14 天前
[NISACTF 2022]easyssrf
网络安全·web·ctf·1024程序员节
unable code15 天前
BUUCTF-[第二章 web进阶]SSRF Training
网络安全·web·ctf·1024程序员节
开开心心就好16 天前
进程启动瞬间暂停工具,适合调试多开
linux·运维·安全·pdf·智能音箱·智能手表·1024程序员节
仰泳之鹅17 天前
【51单片机】第一课:单片机简介与软件安装
单片机·嵌入式硬件·51单片机·1024程序员节
海海不瞌睡(捏捏王子)17 天前
C#知识点概要
java·开发语言·1024程序员节
小浣熊熊熊熊熊熊熊丶19 天前
飞牛NAS 安装 Teslamate 教程(docker版)
1024程序员节
程高兴19 天前
模糊PID控制的永磁同步电机矢量控制系统-SIMULINK
matlab·1024程序员节