您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“C#網(wǎng)絡(luò)編程客戶端程序設(shè)計(jì)方法是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
C#網(wǎng)絡(luò)編程客戶端程序設(shè)計(jì)(1).連接到服務(wù)器端的指定端口:
我們采用的本地機(jī)既做服務(wù)器也做客戶機(jī),你可以通過修改IP地址來確定自己想要連接的服務(wù)器。我們在連接的時候采用了"TcpClient"類,此類是在較高的抽象級別(高于Socket類)上面提供TCP服務(wù)。下面代碼就是連接到本地機(jī)(端口為1234),并獲取響應(yīng)流:
//連接到服務(wù)器端口,在這里是選用本地機(jī)器作為服務(wù)器,你可以通過修改IP地址來改變服務(wù)器 try { myclient = new TcpClient ( "localhost" , 1234 ) ; } catch { MessageBox.Show ( "沒有連接到服務(wù)器!" ) ; return ; } //創(chuàng)建networkStream對象通過網(wǎng)絡(luò)套節(jié)字來接受和發(fā)送數(shù)據(jù) networkStream = myclient.GetStream ( ) ; streamReader = new StreamReader ( networkStream ) ; streamWriter = new StreamWriter ( networkStream ) ;
C#網(wǎng)絡(luò)編程客戶端程序設(shè)計(jì)(2).實(shí)現(xiàn)接受和發(fā)送數(shù)據(jù):
在接受和發(fā)送數(shù)據(jù)上面,我們依然采用了"NetworkStream"類,因?yàn)閷λM(jìn)行操作比較簡單,具體實(shí)現(xiàn)發(fā)送和接受還是通過命名空間"System.IO"中"StreamReader"類ReadLine ( )方法和"StreamWriter"類的WriteLine ( )方法。具體的實(shí)現(xiàn)方法如下:
if ( textBox1.Text == "" ) { MessageBox.Show ( "請確定文本框?yàn)榉强眨?quot; ) ; textBox1.Focus ( ) ; return ; } try { string s ; //往當(dāng)前的數(shù)據(jù)流中寫入一行字符串 streamWriter.WriteLine ( textBox1.Text ) ; //刷新當(dāng)前數(shù)據(jù)流中的數(shù)據(jù) streamWriter.Flush ( ) ; //從當(dāng)前數(shù)據(jù)流中讀取一行字符,返回值是字符串 s = streamReader.ReadLine ( ) ; ListBox1.Items.Add ( "讀取服務(wù)器端發(fā)送內(nèi)容:" + s ) ; } catch ( Exception ee ) { MessageBox.Show ( "從服務(wù)器端讀取數(shù)據(jù)出現(xiàn)錯誤,類型為:" + ee.ToString ( ) ) ; }
C#網(wǎng)絡(luò)編程客戶端程序設(shè)計(jì)(3).關(guān)閉程序中創(chuàng)建的流:
streamReader.Close ( ) ; streamWriter.Close ( ) ; networkStream.Close ( ) ;
“C#網(wǎng)絡(luò)編程客戶端程序設(shè)計(jì)方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。