美文网首页
2017-12-27学习Socket

2017-12-27学习Socket

作者: 红Archer | 来源:发表于2017-12-27 21:16 被阅读0次
    拦截浏览器发来请求,发送至tomcat,接收tomcat所发出的响应。
    
    public static void main(String[] args) {
            // TODO Auto-generated method stub
            ServerSocket server;
            try {
                server = new ServerSocket(8088);
                while(true)
                {
                    Socket socket = server.accept();//等待客户机连接server,若连接则创建一套接字(会堵塞线程的继续执行)
                    InputStream in = socket.getInputStream();
                    InputStreamReader reader = new InputStreamReader(in);
                    char[] chars = new char[1024];
                    int count = reader.read(chars);
                    System.out.println(new String(chars,0,count));
                    
                    //与tomcat建立链接,形成一个代理服务器,发送请求至tomcat再获取tomcat的响应
                    Socket tomcat = new Socket("127.0.0.1",8080);
                    OutputStream out = tomcat.getOutputStream();
                    OutputStreamWriter writer = new OutputStreamWriter(out);
                    writer.write(chars,0,count);
                    writer.flush();
                    out.flush();
                    InputStream tomcatIn = tomcat.getInputStream();
                    InputStreamReader tomcatReader = new InputStreamReader(tomcatIn);
                    char[] tomcatChars = new char[2048];
                    count = tomcatReader.read(tomcatChars);
                    System.out.println(new String(tomcatChars,0,count));            
                }
            } catch (SocketException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    

    相关文章

      网友评论

          本文标题:2017-12-27学习Socket

          本文链接:https://www.haomeiwen.com/subject/hjjpgxtx.html