使用自訂伺服器、瀏覽器作為用戶端訪問

來源:互聯網
上載者:User
package com.hsj.net.login;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;public class BSThread implements Runnable {private Socket s;public BSThread(Socket s) {this.s=s;}public void run() {try {BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));PrintWriter  out=new PrintWriter(s.getOutputStream(),true);String info=null;while((info=in.readLine())!=null){System.out.println(info);if(info.trim().length()<=0)break;}out.println("你好,歡迎免費使用我們的軟體");s.close();} catch ( Exception e) {e.printStackTrace();}}}
package com.hsj.net.login;import java.net.ServerSocket;import java.net.Socket;/** * 服務端:自訂 * 用戶端:瀏覽器,telent * @author heshengjun * */public class BSDemo {public static void main(String[] args) throws Exception {ServerSocket ss=new ServerSocket(10010);while(true){Socket s=ss.accept();String ip=s.getInetAddress().getHostAddress();System.out.println("ip: "+ip);new Thread(new BSThread(s)).start();}}}

這裡有一個問題需要注意,對於瀏覽器發送過來的資料,最後面使用一個空行來區分訊息頭和本文。所以我們讀取訊息頭的時候使用判斷標誌需要注意一下。不然會阻塞,程式停止運行

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.