免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

java使用socket實現一個多線程web服務器的方法-創新互聯

除了服務器類,還包括請求類和響應類

成都創新互聯公司,為您提供網站建設公司成都網站制作公司、網站營銷推廣、網站開發設計,對服務主動防護網等多個行業擁有豐富的網站建設及推廣經驗。成都創新互聯公司網站建設公司成立于2013年,提供專業網站制作報價服務,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發展進步,是我們永遠的責任!

請求類:獲取客戶的HTTP請求,分析客戶所需要的文件

響應類:獲得用戶請求后將用戶需要的文件讀出,添加上HTTP應答頭。發送給客戶端。

服務器處理類

package com.lp.app.webserver;

import java.io.*;
import java.net.*;

//使用Socket創建一個WEB服務器,本程序是多線程系統以提高反應速度。
class WebServer
{
 public static String WEBROOT = "";//默認目錄
 public static String defaultPage = "index.htm";//默認文件
 public static void main (String [] args) throws IOException
 {
 System.out.println ("服務器啟動...\n"); 
 //使用8080端口提供服務
 ServerSocket server = new ServerSocket (8080);
 while (true)
 {
  //阻塞,直到有客戶連接
  Socket sk = server.accept ();
  System.out.println ("Accepting Connection...\n");
  //啟動服務線程
  new WebThread (sk).start ();
 }
 }
}


//使用線程,為多個客戶端服務
class WebThread extends Thread
{
 private Socket sk;
 WebThread (Socket sk)
 {
  this.sk = sk;
 }

 //線程體
 public void run ()
 {
  InputStream in = null;
  OutputStream out = null;
  try{
  in = sk.getInputStream();
  out = sk.getOutputStream();
  //接收來自客戶端的請求。
  Request rq = new Request(in);
  //解析客戶請求
  String sURL = rq.parse();
  System.out.println("sURL="+sURL);
  if(sURL.equals("/")) 
   sURL = WebServer.defaultPage;
  Response rp = new Response(out);
  rp.Send(sURL); 
  }
  catch (IOException e)
  {
  System.out.println (e.toString ());
  }
  finally
  {
  System.out.println ("關閉連接...\n");
  //最后釋放資源
  try{
   if (in != null)
   in.close ();
   if (out != null)
   out.close ();
   if (sk != null)
   sk.close ();
  }
  catch (IOException e)
  {
  }
  }
 }
}

網站標題:java使用socket實現一個多線程web服務器的方法-創新互聯
文章來源:http://newbst.com/article2/dggeic.html

成都網站建設公司_創新互聯,為您提供搜索引擎優化網站建設營銷型網站建設網站內鏈網站維護虛擬主機

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都seo排名網站優化