2009-12-22 78 views
1

對於我最新的Windows應用程序,我想使用Web瀏覽器控件創建一個基於Web的界面,並且我希望使Ajax能夠工作它。由於所有內容都將由Web瀏覽器控件本身加載,因此我希望創建一個Web服務器,該Web服務器可以在本地端口上工作,並在訪問特殊URL時將我的內容提供給Web瀏覽器,例如:如何創建Web瀏覽器控件可以使用的本地服務器

http://localhost:3454

我怎樣才能創建一個web服務器,Windows將請求路由到?我只需要知道正確的API/WinInet命令來開始接收請求。

回答

4

對你來說幸運的是,.NET帶有一個相當不錯的Web服務器,它內置在框架中。

看看HttpListener課。

它同時支持同步和異步模式:

同步模型適合 如果在 等待客戶端請求您的應用程序應該阻止,如果 要處理一次只有一個請求 。使用同步 模型,調用GetContext方法, ,它等待客戶端發送 請求。該方法在發生一個 處理時向您返回一個 HttpListenerContext對象。

在更復雜的異步 模型,而等待請求您的應用程序不會阻止 每個 請求以自己的 執行線程處理。使用 BeginGetContext方法指定 應用程序定義的方法爲每個傳入請求調用 。 在該方法中,調用 EndGetContext方法獲取 請求,處理它並作出響應。

這個人很棒,因爲它使用內置於現代版本的Windows(XP SP2 +和Server 2003+)中的原生Web服務器。

1

您只需要打開一個TCPsocket,bind到端口3454和listen進行連接。然後,您需要通過讀取流來解析每個傳入連接,解析HTTP標頭和內容(如果適用)。

相關問題