c 實現Web伺服器

2021-06-26 17:15:21 字數 3705 閱讀 2678

學習c#時,經常會遇到web伺服器功能的程式設計問題,這裡將介紹c#實現web伺服器功能的程式設計問題的解決方法。

c#實現web伺服器功能的程式設計

根據http協議的作用原理,實現get請求的web伺服器程式的方法如下:

建立tcplistener類物件,監聽某埠(任意輸入閒置埠 如:8080 )。等待、接受客戶機連線到該埠,得到與客戶機連線的socket;從與socket關聯的輸入流中讀取一行客戶機提交的請求資訊,請求資訊的格式為:get 路徑/檔名 http/1.0。從請求資訊中獲取請求型別。如果請求型別是get,則從請求資訊中獲取所訪問的html檔名。沒有html檔名時,則以index.html作為檔名;

如果html檔案存在,則開啟html檔案,把http頭資訊和html檔案內容通過socket傳回給web瀏覽器,然後關閉檔案。否則傳送錯誤資訊給web瀏覽器;關閉與相應web瀏覽器連線的socket字。

c#實現web伺服器功能的**如下:

console.writeline("連線失敗....");  

}  catch (exception e)  

", e );  

}  }  

public static void main()  

public void startlisten()  

\n",mysocket.remoteendpoint) ;  

byte 

breceive

= new

byte[1024] ;  

int i= 

mysocket

.receive(breceive,breceive.length,0) ;  

//轉換成字串型別  

string 

sbuffer

= encoding

.ascii.getstring(breceive);  

//只處理"get"請求型別  

if (sbuffer.substring(0,3) != "get" )  

// 查詢 "http" 的位置  

// 得到請求型別和檔案目錄檔名  

srequest

= sbuffer

.substring(0,istartpos - 1);  

srequest.replace("\\","/");  

//如果結尾不是檔名也不是以"/"結尾則加"/"  

if ((srequest.indexof(".")<

1) && (!srequest.endswith("/")))  

//得帶請求檔名  

istartpos

= srequest

.lastindexof("/") + 1;  

srequest

srequestedfile

= srequest.substring(istartpos);  

//得到請求檔案目錄  

sdirname

= srequest

.substring(srequest.indexof("/"), srequest.lastindexof("/")-3);  

//獲取虛擬目錄物理路徑  

slocaldir

= smywebserverroot

;  console.writeline("請求檔案目錄 : " + slocaldir);  

if (

slocaldir.length

== 0 )  

if (

srequestedfile.length

== 0 )  

string 

smimetype

= "text/html"

;  sphysicalfilepath

= slocaldir

+ srequestedfile;  

console.writeline("請求檔案: " + sphysicalfilepath);  

C 實現WEB伺服器

www的工作基於客戶機 伺服器計算模型,由web 瀏覽器 客戶機 和web伺服器 伺服器 構成,兩者之間採用超文字傳送協議 http 進行通訊,http協議的作用原理包括四個步驟 連線,請求,應答。根據上述http協議的作用原理,本文實現了get請求的web伺服器程式的方法,通過建立tcpliste...

C 實現WEB伺服器

c 實現web伺服器 www.itonline.gd.cn 這只是乙個簡單的用c 寫的web伺服器,只實現了get方式的對html檔案的請求,有興趣的朋友可以在此基礎之上繼續開發更多功能,小弟學c 不久,如有錯漏,望請見涼!摘要 www的工作基於客戶機 伺服器計算模型,由web瀏覽器 客戶機 和we...

C 實現WEB伺服器

www的工作基於客戶機 伺服器計算模型,由web 瀏覽器 客戶機 和web伺服器 伺服器 構成,兩者之間採用超文字傳送協議 http 進行通訊,http協議的作用原理包括四個步驟 連線,請求,應答。根據上述http協議的作用原理,本文實現了get請求的web伺服器程式的方法,通過建立tcpliste...