程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 通過HttpListener實現簡單的Http服務

通過HttpListener實現簡單的Http服務

編輯:關於ASP.NET

HttpListener提供一個簡單的、可通過編程方式控制的 HTTP 協議偵聽器。通過它可以很容易的提供 一些Http服務,而無需啟動IIS這類大型服務程序。

注意:該類僅在運行 Windows XP SP2 或 Windows Server 2003 操作系統的計算機上可用。

使用Http服務一般步驟如下:

創建一個HTTP偵聽器對象並初始化

添加需要監聽的URI 前綴

開始偵聽來自客戶端的請求

處理客戶端的Http請求

關閉HTTP偵聽器

其中3,4兩步可以循環處理,以提供多客戶多次請求的服務。

創建一個HTTP偵聽器對象

創建HTTP偵聽器對象只需要新建一個HttpListener對象即可。

HttpListener listener = new HttpListener();

初始化需要經過如下兩步

添加需要監聽的URL范圍至listener.Prefixes中,可以通過如下函數實現:

listener.Prefixes.Add(prefix)    //prefix必須以'/'結尾

調用listener.Start()實現端口的綁定,並開始監聽客戶端的需求。

接受HTTP請求

在.net2.0中,通過HttpListenerContext對象提供對HttpListener類使用的請求和響應對象的訪問。

獲取HttpListenerContext的最簡單方式如下:

HttpListenerContext context = listener.GetContext();

該方法將阻塞調用函數至接收到一個客戶端請求為止,如果要提高響應速度,可使用異步方法 listener.BeginGetContext()來實現HttpListenerContext對象的獲取。

處理HTTP請求

獲取HttpListenerContext後,可通過Request屬性獲取表示客戶端請求的對象,通過Response屬性取 表示 HttpListener 將要發送到客戶端的響應的對象。

HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;

這裡的HttpListenerRequest對象和HttpListenerResponse對象和Asp中的Request和Response的使用方 式類似,這裡就不多說了,具體的使用可以參看下面的例子。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved