C#網(wǎng)絡(luò)編程客戶端程序設(shè)計(jì)淺析
C#網(wǎng)絡(luò)編程客戶端程序設(shè)計(jì)都有什么內(nèi)容呢?需要注意什么呢?讓我們來看看吧:
C#網(wǎng)絡(luò)編程客戶端程序設(shè)計(jì)(1).連接到服務(wù)器端的指定端口:
我們采用的本地機(jī)既做服務(wù)器也做客戶機(jī),你可以通過修改IP地址來確定自己想要連接的服務(wù)器。我們?cè)谶B接的時(shí)候采用了"TcpClient"類,此類是在較高的抽象級(jí)別(高于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對(duì)象通過網(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)閷?duì)他進(jìn)行操作比較簡(jiǎn)單,具體實(shí)現(xiàn)發(fā)送和接受還是通過命名空間"System.IO"中"StreamReader"類ReadLine ( )方法和"StreamWriter"類的WriteLine ( )方法。具體的實(shí)現(xiàn)方法如下:
- if ( textBox1.Text == "" )
 - {
 - MessageBox.Show ( "請(qǐng)確定文本框?yàn)榉强眨? ) ;
 - 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)錯(cuò)誤,類型為:" + 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)容就向你介紹到這里了,希望對(duì)你了解和學(xué)習(xí)C#網(wǎng)絡(luò)編程客戶端程序設(shè)計(jì)有所幫助。
【編輯推薦】















 
 
 
 
 
 
 