新的一年了,新的開始,打算重新看一遍asp.net本質論這本書,再重新認識一下,查漏補缺,認認真真的過一遍。
首先需要引入命名空間: system.net,關於網路程式設計的大部分型別及操作都可以在這個命名空間下找到。
system.net.sockets:命名空間中提供了基於socket程式設計的資料型別。
socket類封裝了socket的操作。
常見操作:
listen:設定基於連線通訊的socket進入監聽狀態,並設定等待佇列的長度。
accept:等待乙個新的連線,當新連線到達的時候,返回乙個針對新連線的socket物件。通過這個新的socket物件,可以與新的連線通訊。
receive:通過socket接收位元組資料,儲存到乙個位元組陣列中,返回實際接收的位元組數。
send:通過socket傳送預先儲存在位元組陣列中的資料。
通過socket建立乙個簡單的web伺服器,通過埠8888訪問該伺服器,向瀏覽器返回乙個靜態頁面。這個示例,通過瀏覽器傳送請求,並由伺服器生成訊息響應給瀏覽器。
web伺服器
using啟動伺服器,並在瀏覽器中輸入http://localhost:8888/system;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
system.threading.tasks;
using
system.net;
using
system.net.sockets;
namespace
webserver
", endpoint.port);
while (true
) \r\n
", responsebodybuffer.length);
byte responseheaderbuffer =utf8.getbytes(responseheader);
//向客戶端傳送狀態訊息
client.send(statuslinebuffer);
//向客戶端傳送回應頭
client.send(responseheaderbuffer);
//頭部與內容的分割行
client.send(new
byte );
//向客戶端傳送內容部分
client.send(responsebodybuffer);
//斷開與客戶端的連線
client.close();
//關閉伺服器
socket.close();
break
; }
console.read();}}
}
服務端收到的請求內容
通過搭建這個簡單的web伺服器,了解你在瀏覽器輸入位址,然後回車,服務端是如何處理的以及如何響應的。
WEB 乙個簡單的WEB伺服器
web 伺服器如何工作的?http hypertext transfer protocol 是一套計算機通過網路進行通訊的規則。計算機專家設計出http,使http客戶 如web瀏覽器 能夠從http伺服器 web伺服器 請求資訊和服務,http目前協議的版本是1.1.http是一種無狀態的協議,無...
乙個簡單的靜態web伺服器
coding utf 8 import re from socket import from multiprocessing import process 設定靜態檔案根目錄 接收資料 request data cli socket.recv 1024 解析http報文協議 request data...
乙個簡單的動態web伺服器
這個動態web伺服器的思路是在靜態伺服器的基礎上新增對url的判斷,如果url中帶有指令碼資訊,那麼伺服器會去執行指令碼而不是直接返回靜態介面 coding utf 8 import sys import re from socket import from multiprocessing impo...