日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
C#網(wǎng)絡(luò)編程服務(wù)器端程序設(shè)計(jì)淺析

C#網(wǎng)絡(luò)編程服務(wù)器端程序設(shè)計(jì)淺析

專(zhuān)業(yè)領(lǐng)域包括網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、商城系統(tǒng)網(wǎng)站開(kāi)發(fā)、微信營(yíng)銷(xiāo)、系統(tǒng)平臺(tái)開(kāi)發(fā), 與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開(kāi)發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷(xiāo)的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。

在下面接受的程序中,我們采用的是異步阻塞的方式。

C#網(wǎng)絡(luò)編程服務(wù)器端程序設(shè)計(jì)(1).首先要要在給定的端口上面創(chuàng)建一個(gè)"tcpListener"對(duì)象偵聽(tīng)網(wǎng)絡(luò)上面的請(qǐng)求。當(dāng)接收到連結(jié)請(qǐng)求后通過(guò)調(diào)用"tcpListener"對(duì)象的"AcceptSocket"方法產(chǎn)生一個(gè)用于處理接入連接請(qǐng)求的Socket的實(shí)例。下面是具體實(shí)現(xiàn)代碼:

 
 
 
  1. //創(chuàng)建一個(gè)tcpListener對(duì)象,此對(duì)象主要是對(duì)給定端口進(jìn)行偵聽(tīng)  
  2. tcpListener = new TcpListener ( 1234 ) ;  
  3. //開(kāi)始偵聽(tīng)  
  4. tcpListener.Start ( ) ;  
  5. //返回可以用以處理連接的Socket實(shí)例  
  6. socketForClient = tcpListener.AcceptSocket ( ) ; 

C#網(wǎng)絡(luò)編程服務(wù)器端程序設(shè)計(jì)(2).接受和發(fā)送客戶端數(shù)據(jù):

此時(shí)Socket實(shí)例已經(jīng)產(chǎn)生,如果網(wǎng)絡(luò)上有請(qǐng)求,在請(qǐng)求通過(guò)以后,Socket實(shí)例構(gòu)造一個(gè)"NetworkStream"對(duì)象,"NetworkStream"對(duì)象為網(wǎng)絡(luò)訪問(wèn)提供了基礎(chǔ)數(shù)據(jù)流。我們通過(guò)名稱(chēng)空間"System.IO"中封裝的二個(gè)類(lèi)"StreamReader"和"StreamWriter"來(lái)實(shí)現(xiàn)對(duì)"NetworkStream"對(duì)象的訪問(wèn)。其中"StreamReader"類(lèi)中的ReadLine ( )方法就是從"NetworkStream"對(duì)象中讀取一行字符;"StreamWriter"類(lèi)中的WriteLine ( )方法就是對(duì)"NetworkStream"對(duì)象中寫(xiě)入一行字符串。從而實(shí)現(xiàn)在網(wǎng)絡(luò)上面?zhèn)鬏斪址旅媸蔷唧w的實(shí)現(xiàn)代碼:

 
 
 
  1. try 
  2. {  
  3. //如果返回值是"true",則產(chǎn)生的套節(jié)字已經(jīng)接受來(lái)自遠(yuǎn)方的連接請(qǐng)求  
  4. if ( socketForClient.Connected )  
  5. {  
  6. ListBox1.Items.Add ( "已經(jīng)和客戶端成功連接!" ) ;  
  7. while ( true )  
  8. {  
  9. //創(chuàng)建networkStream對(duì)象通過(guò)網(wǎng)絡(luò)套節(jié)字來(lái)接受和發(fā)送數(shù)據(jù)  
  10. networkStream = new NetworkStream ( socketForClient ) ;  
  11. //從當(dāng)前數(shù)據(jù)流中讀取一行字符,返回值是字符串  
  12. streamReader = new StreamReader ( networkStream ) ;  
  13. string msg = streamReader.ReadLine ( ) ;  
  14. ListBox1.Items.Add ( "收到客戶端信息:" + msg ) ;  
  15. streamWriter = new StreamWriter ( networkStream ) ;  
  16. if ( textBox1.Text != "" )  
  17. {  
  18. ListBox1.Items.Add ( "往客戶端反饋信息:" + textBox1.Text ) ;  
  19. //往當(dāng)前的數(shù)據(jù)流中寫(xiě)入一行字符串  
  20. streamWriter.WriteLine ( textBox1.Text ) ;  
  21. //刷新當(dāng)前數(shù)據(jù)流中的數(shù)據(jù)  
  22. streamWriter.Flush ( ) ;  
  23. }  
  24. }  
  25. }  
  26. }  
  27. catch ( Exception ey )  
  28. {  
  29. MessageBox.Show ( ey.ToString ( ) ) ;  

C#網(wǎng)絡(luò)編程服務(wù)器端程序設(shè)計(jì)(3).***別忘了要關(guān)閉所以流,停止偵聽(tīng)網(wǎng)絡(luò),關(guān)閉套節(jié)字,具體如下:

 
 
 
  1. //關(guān)閉線程和流  
  2. networkStream.Close ( ) ;  
  3. streamReader.Close ( ) ;  
  4. streamWriter.Close ( ) ;  
  5. _thread1.Abort ( ) ;  
  6. tcpListener.Stop ( ) ;  
  7. socketForClient.Shutdown ( SocketShutdown.Both ) ;  
  8. socketForClient.Close ( ) ; 

C#網(wǎng)絡(luò)編程服務(wù)器端程序設(shè)計(jì)的基本內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#網(wǎng)絡(luò)編程服務(wù)器端程序設(shè)計(jì)有所幫助。

【編輯推薦】

  1. C#網(wǎng)絡(luò)編程基本概念TCP淺析
  2. C#網(wǎng)絡(luò)聊天程序三大模式淺析
  3. C#服務(wù)端端口偵聽(tīng)淺析
  4. C#服務(wù)端與客戶端連接實(shí)現(xiàn)淺析
  5. C#網(wǎng)絡(luò)編程入門(mén)基礎(chǔ)知識(shí)淺析

網(wǎng)站名稱(chēng):C#網(wǎng)絡(luò)編程服務(wù)器端程序設(shè)計(jì)淺析
文章源于:http://www.5511xx.com/article/dpjogoe.html