microsoft.net framework為應用程式訪問internet提供了分層的、可擴充套件的以及受管轄的網路服務,其名字空間system.net和system.net.sockets包含豐富的類可以開發多種網路應用程式。.net類採用的分層結構允許應用程式在不同的控制級別上訪問網路,開發人員可以根據需要選擇針對不同的級別編制程式,這些級別幾乎囊括了internet的所有需要--從socket套接字到普通的請求/響應,更重要的是,這種分層是可以擴充套件的,能夠適應internet不斷擴充套件的需要。
拋開iso/osi模型的7層構架,單從tcp/ip模型上的邏輯層面上看,.net類可以視為包含3個層次:請求/響應層、應用協議層、傳輸層。webreqeust和webresponse 代表了請求/響應層,支援http、tcp和udp的類組成了應用協議層,而socket類處於傳輸層。可以如下示意:
實現此功能的主要源**如下:
//"開始"按鈕事件
private void button1_click(object sender, system.eventargs e)
catch(exception se)
//傳送給遠端主機的請求內容串
//建立bytes位元組陣列以轉換傳送串
byte bytessendstr=new byte[1024];
//將傳送內容字串轉換成位元組byte陣列
bytessendstr=encoding.ascii.getbytes(sendstr);
try
catch(exception ce)
//宣告接收返回內容的字串
string recvstr="";
//宣告位元組陣列,一次接收資料的長度為1024位元組
byte recvbytes=new byte[1024];
//返回實際接收內容的位元組數
int bytes=0;
//迴圈讀取,直到接收完所有資料
while(true)
//將所讀取的字串轉換為位元組陣列
byte content=encoding.ascii.getbytes(recvstr);
try
catch(exception fe)
//禁用socket
socket.shutdown(socketshutdown.both);
//關閉socket
socket.close();
} }
程式在windowsxp中文版、.net frameworkd 中文正式版、visual studio.net中文正式版下除錯通過
c#網路程式設計初探
C 網路程式設計
首先我們解釋一下在網路程式設計時候,經常遇到的幾個概念 同步 synchronous 非同步 asynchronous 阻塞 block 和非阻塞 unblock 所謂同步方式,就是傳送方傳送資料報以後,不等接受方響應,就接著傳送下乙個資料報。非同步方式就是當傳送方傳送乙個資料報以後,一直等到接受方...
C 網路程式設計
1 ip網路中的每台主機都有乙個ip位址 它是邏輯位址 網際網路上的ip位址具有全球唯一性 4個位元組,192.168.0.16 2 osi將網路分為 tcp ip模型 應用層 應用層 表示層會話層 傳輸層 傳輸層 網路層 網路層 資料鏈路層 網路介面 物理層相同層次之間不可以直接通訊,是虛擬通訊。...
c 網路程式設計
microsoft.framework為應用程式訪問inter 提供了分層的 可擴充套件的以及受管轄的網路服務,其名字空間system.和system.sockets包含豐富的類可以開發多種網路應用程式。類採用的分層結構允許應用程式在不同的控制級別上訪問網路,開發人員可以根據需要選擇針對不同的級別編...