http 控制jframe 显示隐藏(1)

子进程

效果

访问http://localhost:8088/show 显示

访问http://localhost:8088/hide 隐藏

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;

import javax.swing.JFrame;

/**
 * tcp 方式控制显示
 * 
 */
public class ServerThread3 extends Thread {

    private Socket socket = null;
    private static Logger logger;
    private static PrintStream display;
    private static DataOutputStream out;
    private static DataInputStream in;
    private static Scanner sc;
    JFrame button;

    static {
        logger = Logger.getLogger("Client");
        display = System.out;
        sc = new Scanner(System.in);
    }

    public ServerThread3(Socket socket) {
        this.socket = socket;
    }

    public ServerThread3(Socket socket2, JFrame a) {
        this.socket = socket2;
        this.button = a;
    }

    public void checkCommand(byte lData) {
        switch (lData) {
        case '1':
            button.show();
            break;
        case '0':
            button.hide();
            break;
        case 'q':
//            socket.close();
            break;
        default:
            System.out.println("default break:" + lData);
            break;
        }
    }

    @Override
    public void run() {
        try {
            socket.setSoTimeout(3000);
            InputStream in = socket.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String line = br.readLine();
            System.out.println(line + line + Thread.currentThread().getName());
            String resource = line.substring(line.indexOf('/') + 1, line.lastIndexOf('/') - 5);
            String method = line.substring(0, line.indexOf('/') - 1).toLowerCase();

            // 获得请求的资源的地址
//            resource=URLDecoder.decode(resource, "UTF-8");//反编码 URL 地址
            // 读取客户端发送来的消息
//            while((line = br.readLine())!=null&&(!"".equals(line))) {
               System.out.println("客户端:" + line+Thread.currentThread().getName());
//            }
            logger.info("readLine end:" + resource);
            if (!"get".equals(method)) {
                logger.info("method:" + method.toLowerCase());
//                return ;
            } else {
                if ("hide".equals(resource)) {
                    button.hide();
                }
                if ("show".equals(resource)) {
                    button.show();
                }
            }
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));

            // 创建HTTP响应结果
            // 创建响应协议、状态
            String httpStatus = "HTTP/1.1 200 OK\r\n";
            // 创建响应头
            String responseHeader = "Content-Type:text/html\r\n\r\n";
            bw.write(httpStatus);
            bw.write("Access-Control-Allow-Origin:*\r\n");
            bw.write("Access-Control-Allow-Headers:*\r\n");
            bw.write("Access-Control-Allow-Method:POST,GET,OPTIONS \r\n");
            bw.write(responseHeader);
            bw.write(resource + "ok\n");
            bw.flush();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
//                if(pw!=null)
//                    pw.close();
//                if(os!=null)
//                    os.close();
//                if(br!=null)
//                    br.close();
//                if(isr!=null)
//                    isr.close();
//                if(is!=null)
//                    is.close();
                if (socket != null)
                    socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        super.run();
    }

    void response(String res) {

    }

}
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值