2017-12-27學(xué)習(xí)Socket

攔截瀏覽器發(fā)來(lái)請(qǐng)求,發(fā)送至tomcat,接收tomcat所發(fā)出的響應(yīng)。
public static void main(String[] args) {
        // TODO Auto-generated method stub
        ServerSocket server;
        try {
            server = new ServerSocket(8088);
            while(true)
            {
                Socket socket = server.accept();//等待客戶機(jī)連接server,若連接則創(chuàng)建一套接字(會(huì)堵塞線程的繼續(xù)執(zhí)行)
                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建立鏈接,形成一個(gè)代理服務(wù)器,發(fā)送請(qǐng)求至tomcat再獲取tomcat的響應(yīng)
                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();
        }
        
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容