亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? proxyserver.java

?? java 的程序集合,會節省你很多時間的,有兩個包.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
c.start();
}
}

// 在連接線程退出前調用這個函數,它把某個特定線程從線程列表中刪除
protected synchronized void endConnection(Connection c) {
connections.remove(c);
log("連接到: " + c.client.getInetAddress().getHostAddress() +":" + c.client.getPort() + " 關閉.");
}

// 改變現有的連接上限
public synchronized void setMaxConnections(int max) {
maxConnections = max;
}

// 顯示server信息
public synchronized void displayStatus(PrintWriter out) {
// 顯示所有服務的列表
Iterator keys = services.keySet().iterator();
while(keys.hasNext()) {
Integer port = (Integer) keys.next();
Listener listener =	(Listener) services.get(port);
out.print("SERVICE " + listener.service.getClass().getName()+ " ON PORT " + port +
"\n");
}
// 顯示現有連接上限
out.print("MAX CONNECTIONS: " + maxConnections + "\n");
// 顯示現有連接列表
Iterator conns = connections.iterator();
while(conns.hasNext()) {
Connection c = (Connection)conns.next();
out.print("連接: " +c.client.getInetAddress().getHostAddress() +
":" + c.client.getPort() + " 端口:" +c.client.getLocalPort() +
c.service.getClass().getName() + "\n");
}
}
}

public class Connection extends Thread { // 多線程連接類
Socket client;     //與客戶端對話的套接字
Service service;   //提供給客戶端的service

public Connection(Socket client, Service service) {// 構造函數
super("Server.Connection:" +client.getInetAddress().getHostAddress() +
":" + client.getPort());
this.client = client;
this.service = service;
}

// 把客戶端的輸入輸出流傳給某個Service對象的 serve()方法
public void run() {
try {
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
service.serve(in, out);
}
catch (IOException e) {log(e);}
finally { endConnection(this); }
}
}

public interface Service {
public void serve(InputStream in, OutputStream out) throws IOException;
}

// 一個簡單的service,它向客戶端顯示當前sever上的時間并負責關閉客戶端連接
public static class Time implements Service {
public void serve(InputStream i, OutputStream o) throws IOException {
PrintWriter out = new PrintWriter(o);
out.print(new Date() + "\n");
out.close();
i.close();
}
}

// 這是另外一個簡單的service. 它從客戶端讀入輸入行,然后發送回去然后反轉
// 同時顯示歡迎信息,當用戶鍵入'.'作為一行的結尾時關閉連接
public static class Reverse implements Service {
public void serve(InputStream i, OutputStream o) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(i));
PrintWriter out =new PrintWriter(new BufferedWriter(new OutputStreamWriter(o)));
out.print("Welcome to the line reversal server.\n");
out.print("Enter lines.  End with a '.' on a line by itself.\n");
for(;;) {
out.print("> ");
out.flush();
String line = in.readLine();
if ((line == null) || line.equals(".")) break;
for(int j = line.length()-1; j >= 0; j--)
out.print(line.charAt(j));
out.print("\n");
}
out.close();
in.close();
}
}

// 這個服務是一個HTTP映射, 它返回客戶的 HTTP請求
public static class HTTPMirror implements Service {
public void serve(InputStream i, OutputStream o) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(i));
PrintWriter out = new PrintWriter(o);
out.print("HTTP/1.0 200 \n");
out.print("Content-Type: text/plain\n\n");
String line;
while((line = in.readLine()) != null) {
if (line.length() == 0) break;
out.print(line + "\n");
}
out.close();
in.close();
}
}

public static class UniqueID implements Service {
public int id=0;
public synchronized int nextId() { return id++; }
public void serve(InputStream i, OutputStream o) throws IOException {
PrintWriter out = new PrintWriter(o);
out.print("You are client #: " + nextId() + "\n");
out.close();
i.close();
}
}

// 解析一個基于命令的協議,通過這個協議可以提供具有密碼保護的對服務的實時控制
public static class Control implements Service {
  Server server;
  String password;
  boolean connected = false; // 是否有某個客戶連接
// 創建一個新的控制服務,它將控制某個特定的Server對象, 并需要
// 密碼驗證以獲取相關權限,注意這個Service的構造器包含參數
  public Control(Server server, String password) {
    this.server = server;
    this.password = password;
  }

// 這是負責提供服務的方法,它讀入客戶端的命令行,并解析為相關命令和參數
  public void serve(InputStream i, OutputStream o) throws IOException {
// 創建流
    BufferedReader in = new BufferedReader(new InputStreamReader(i));
    PrintWriter out = new PrintWriter(o);
    String line;
// 用戶是否已提供密碼?
    boolean authorized = false;
// 如果已經有一個客戶端連接,則向客戶端發送一個消息并關閉連接
// 在此使用一個synchronized區段來防止資源競爭
    synchronized (this) {
      if (connected) {
        out.print("ONLY ONE CONTROL CONNECTION ALLOWED.\n");
        out.close();
        return;
      }
      else
        connected = true;
    }

// 這是主循環:讀取一條命令,然后解析處理
    for (; ; ) { // 無限循環
      out.print("> ");
      out.flush();
      line = in.readLine(); // 獲取用戶輸入
      if (line == null)
        break; // 如果 EOF則退出
      try {
// 使用StringTokenizer來解析用戶命令
        StringTokenizer t = new StringTokenizer(line);
        if (!t.hasMoreTokens())
          continue; //如果輸入為空
// 獲得輸入的第一個詞并轉換成小寫
        String command = t.nextToken().toLowerCase();
// 與可能的各種命令比較并執行相應操作
        if (command.equals("password")) {
          String p = t.nextToken(); // 獲取下一個
          if (p.equals(this.password)) { // 密碼是否正確
            out.print("OK\n");
            authorized = true; // 授予權限
          }
          else
            out.print("INVALID PASSWORD\n"); // 否則失敗
        }
        else if (command.equals("add")) {
// 檢查是否提供了密碼
          if (!authorized)
            out.print("PASSWORD REQUIRED\n");
          else {
// 獲得服務的名稱并嘗試動態載入、實例化并處理異常
            String serviceName = t.nextToken();
            Class serviceClass = Class.forName(serviceName);
            Service service;
            try {
              service = (Service) serviceClass.newInstance();
            }
            catch (NoSuchMethodError e) {
              throw new IllegalArgumentException(
                  "Service must have a " +
                  "no-argument constructor");
            }
            int port = Integer.parseInt(t.nextToken());
// 如果沒有產生異常,則添加服務
            server.addService(service, port);
            out.print("SERVICE ADDED\n"); // 確認
          }
        }
        else if (command.equals("remove")) {
          if (!authorized)
            out.print("PASSWORD REQUIRED\n");
          else {
            int port = Integer.parseInt(t.nextToken());
            server.removeService(port); // 取消服務
            out.print("SERVICE REMOVED\n");
          }
        }
        else if (command.equals("max")) { // 設置連接上限
          if (!authorized)
            out.print("PASSWORD REQUIRED\n");
          else {
            int max = Integer.parseInt(t.nextToken());
            server.setMaxConnections(max);
            out.print("MAX CONNECTIONS CHANGED\n"); //確認
          }
        }
        else if (command.equals("status")) { // 顯示狀態
          if (!authorized)
            out.print("PASSWORD REQUIRED\n");
          else
            server.displayStatus(out);
        }
        else if (command.equals("help")) { // 幫助命令
// 顯示命令語法,不需要密碼
          out.print("COMMANDS:\n" + "\tpassword <password>\n" +
                    "\tadd <service> <port>\n" + "\tremove <port>\n" +
                    "\tmax <max-connections>\n" + "\tstatus\n" + "\thelp\n" +
                    "\tquit\n");
        }
        else if (command.equals("quit"))
          break;
        else
          out.print("UNRECOGNIZED COMMAND\n"); // 出現錯誤
      }
      catch (Exception e) {
        out.print("ERROR WHILE PARSING OR EXECUTING COMMAND:\n" + e + "\n");
      }
    }
// 關閉流并把連接標志位設為false使得其它客戶端連接
    connected = false;
    out.close();
    in.close();
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩aaa| 欧美中文字幕一区二区三区 | 精品亚洲国内自在自线福利| 亚洲一区二区高清| 亚洲一区二区三区在线| 亚洲一区二区视频| 午夜视频一区二区| 午夜不卡在线视频| 视频一区二区三区在线| 免费精品视频在线| 国模娜娜一区二区三区| 国产·精品毛片| 欧美亚洲综合另类| 欧美日本在线看| 欧美日韩精品二区第二页| 欧美日韩国产综合久久| 日韩欧美一区二区在线视频| 国产午夜一区二区三区| 国产精品久久久久久一区二区三区 | 欧美成人国产一区二区| 国产亚洲成aⅴ人片在线观看| 国产欧美一区二区精品性色| 1000部国产精品成人观看| 亚洲精品日韩一| 日韩中文字幕亚洲一区二区va在线| 免费成人av在线播放| 成人免费视频视频在线观看免费| 99精品视频在线免费观看| 在线观看91视频| 精品国产乱码久久久久久久久| 精品国内二区三区| 亚洲视频电影在线| 免费高清不卡av| 成人成人成人在线视频| 欧美群妇大交群的观看方式| 国产人妖乱国产精品人妖| 亚洲天堂精品在线观看| 婷婷久久综合九色国产成人| 国产高清成人在线| 51午夜精品国产| 亚洲素人一区二区| 美腿丝袜亚洲综合| 在线视频亚洲一区| 国产欧美日韩中文久久| 成人小视频在线观看| 在线观看91av| 日韩美女视频一区二区| 韩国欧美国产1区| 91麻豆精品国产91久久久久久久久| 国产日产欧美一区二区三区| 日本不卡一区二区三区| 色婷婷av一区二区三区软件| 日韩欧美中文一区| 亚洲成人动漫精品| 成人app在线| 中文无字幕一区二区三区| 美女一区二区三区| 在线播放国产精品二区一二区四区| 中文欧美字幕免费| 国产乱人伦偷精品视频免下载 | 欧美精品一区二区三区在线 | 成人欧美一区二区三区白人| 激情久久五月天| 欧美一区中文字幕| 亚洲午夜久久久久| 91成人在线观看喷潮| 亚洲男女一区二区三区| 成人性视频免费网站| 国产日韩亚洲欧美综合| 精品亚洲免费视频| 久久午夜羞羞影院免费观看| 久久成人综合网| 日韩女优av电影在线观看| 美女网站视频久久| 精品久久久久av影院| 成人福利在线看| 日韩美女精品在线| 精品视频在线视频| 日韩成人一区二区| 日韩一级高清毛片| 久久精品99国产精品日本| 精品人在线二区三区| 国产原创一区二区三区| 久久亚洲精精品中文字幕早川悠里| 国产一本一道久久香蕉| 久久久午夜精品| 波多野结衣一区二区三区 | 日韩精品中午字幕| 精久久久久久久久久久| 中文字幕第一页久久| 91欧美一区二区| 午夜不卡av在线| 精品奇米国产一区二区三区| 国产一区二区三区在线观看精品| 久久精品免视看| 91蜜桃网址入口| 日产国产欧美视频一区精品| wwwwww.欧美系列| 92国产精品观看| 日日骚欧美日韩| 亚洲国产成人私人影院tom| 色综合中文字幕国产| 亚洲视频资源在线| 91精品国产综合久久精品图片 | 欧美一区二区三区人| 国产乱码一区二区三区| 亚洲欧美日韩综合aⅴ视频| 日韩欧美一二三四区| 91浏览器在线视频| 麻豆成人在线观看| 国产精品家庭影院| 欧美一区二区三区电影| jlzzjlzz亚洲日本少妇| 日韩国产成人精品| 亚洲欧洲av另类| 精品精品国产高清a毛片牛牛| 99久久婷婷国产综合精品电影 | 欧美在线观看视频一区二区| 狠狠色丁香婷婷综合久久片| 一区二区三区不卡视频| 国产丝袜在线精品| 欧美一区二区观看视频| 色综合天天天天做夜夜夜夜做| 久久精品av麻豆的观看方式| 一区av在线播放| 欧美国产一区视频在线观看| 欧美一区二区大片| 欧美三级午夜理伦三级中视频| 大陆成人av片| 激情偷乱视频一区二区三区| 日韩电影在线一区二区| 一区二区三区视频在线看| 国产精品乱码一区二区三区软件| 日韩欧美国产成人一区二区| 欧美卡1卡2卡| 欧美亚洲日本国产| 91麻豆自制传媒国产之光| 国产不卡视频一区二区三区| 久久成人免费网| 美国一区二区三区在线播放| 天天做天天摸天天爽国产一区 | 中文字幕一区二区三区蜜月| 久久久久久久久久久电影| 欧美一区二区三区免费视频| 欧美色图在线观看| 在线这里只有精品| 色婷婷精品大视频在线蜜桃视频| 99久久综合色| 99视频在线精品| 91丨porny丨首页| 色综合欧美在线视频区| 在线看国产日韩| 欧亚一区二区三区| 欧美日韩国产三级| 欧美男男青年gay1069videost| 欧美体内she精视频| 欧美色图免费看| 欧美一区二区三区婷婷月色| 日韩欧美一区电影| 日韩一区二区三区在线| 欧美成人a∨高清免费观看| xnxx国产精品| 国产日韩精品一区| 亚洲欧美偷拍另类a∨色屁股| 亚洲精品视频自拍| 亚洲不卡av一区二区三区| 日韩av电影免费观看高清完整版在线观看| 亚洲午夜视频在线| 久久99精品久久久| av亚洲精华国产精华精| 欧美日韩亚洲另类| 久久影音资源网| 国产精品久久久久久久久免费桃花| 亚洲欧美激情一区二区| 日本三级亚洲精品| 国产成人av福利| 色呦呦日韩精品| 精品欧美黑人一区二区三区| 国产欧美精品在线观看| 一区二区三区四区中文字幕| 日韩av高清在线观看| 福利一区二区在线观看| 欧美日韩一区久久| 欧美精品一区二区三区蜜桃视频| 中文字幕在线观看一区二区| 午夜精品爽啪视频| 成人爽a毛片一区二区免费| 欧美色精品天天在线观看视频| www亚洲一区| 亚洲一区二区黄色| 国产精品白丝jk白祙喷水网站 | 国产乱子伦视频一区二区三区| 91在线你懂得| 日韩欧美一区在线观看| 一区二区三区在线影院| 国产91综合网| 欧美一级夜夜爽| 亚洲成人自拍偷拍| 99久久精品费精品国产一区二区| 日韩一区二区免费在线电影|