版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、我們知道C#和C++的差異之一,就是他本身沒有類庫,所使用的類庫是.框架中的類庫.FrameWkSDK。在.FrameWkSDK中為網絡編程提供了二個名稱空間:““和“.Sockets“。C#就是通過這二個名稱空間中封裝的類和方法實現網絡通訊的。首先我們解釋一下在網絡編程時候,經常遇到的幾個概念:同步(synchronous)、異步(asynchronous)、阻塞(Block)和非阻塞(Unblock):所謂同步方式,就是發(fā)送方發(fā)送數
2、據包以后,不等接受方響應,就接著發(fā)送下一個數據包。異步方式就是當發(fā)送方發(fā)送一個數據包以后,一直等到接受方響應后,才接著發(fā)送下一個數據包。而阻塞套接字是指執(zhí)行此套接字的網絡調用時,直到調用成功才返回,否則此套節(jié)字就一直阻塞在網絡調用上,比如調用StreamReader類的Readlin()方法讀取網絡緩沖區(qū)中的數據,如果調用的時候沒有數據到達,那么此Readlin()方法將一直掛在調用上,直到讀到一些數據,此函數調用才返回;而非阻塞套接字
3、是指在執(zhí)行此套接字的網絡調用時,不管是否執(zhí)行成功,都立即返回。同樣調用StreamReader類的Readlin()方法讀取網絡緩沖區(qū)中數據,不管是否讀到數據都立即返回,而不會一直掛在此函數調用上。在Windows網絡通信軟件開發(fā)中,最為常用的方法就是異步非阻塞套接字。平常所說的CS(客戶端服務器)結構的軟件采用的方式就是異步非阻塞模式的。其實在用C#進行網絡編程中,我們并不需要了解什么同步、異步、阻塞和非阻塞的原理和工作機制,因為在.
4、FrameWrokSDK中已經已經把這些機制給封裝好了。下面我們就用C#開一個具體的網絡程序來說明一下問題。一本文中介紹的程序設計及運行環(huán)境一本文中介紹的程序設計及運行環(huán)境(1).微軟視窗2000服務器版(2)..FramewkSDKBeta2以上版本if(socketFClient.Connected)ListBox1.Items.Add(“已經和客戶端成功連接!“)while(true)創(chuàng)建wkStream對象通過網絡套節(jié)字來接受和
5、發(fā)送數據wkStream=newwkStream(socketFClient)從當前數據流中讀取一行字符,返回值是字符串streamReader=newStreamReader(wkStream)stringmsg=streamReader.ReadLine()ListBox1.Items.Add(“收到客戶端信息:“msg)streamWriter=newStreamWriter(wkStream)if(textBox1.Text!=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c#編程規(guī)范
- msdn c#編程指南
- c#的usb通訊編程
- c#編程4.0外文翻譯
- arcengine基于c#編程實例講解
- 銀行存取款案例(c#編程)
- c#編程知識匯編之一【201401】
- c# .net_經典編程例子400個
- c#網絡編程專題9實現類似qq的即時通信程序
- c#數據庫編程添加刪除記錄
- c#數據庫編程_添加刪除記錄
- C、C++和C#語言中編程實體的研究.pdf
- 基于c#的socket編程的tcp異步實現
- 基于c#聊天群的編程畢業(yè)論文
- c#網絡協議題庫-簡答
- c#文獻翻譯---c#的優(yōu)點
- [c#畢設]網絡辦公助理c#.net
- c#基于tcp協議網絡聊天程序
- c#程序
- [c#畢設]c#人事管理系統
評論
0/150
提交評論