C#網路編程初探(3)

來源:互聯網
上載者:User
C#網路編程初探(3)
作者: 馬金虎   www.ASPCool.com 時間:2002-6-25 18:00:50  閱讀次數:6100

     四.用戶端程式設計的關鍵步驟以及解決辦法: 
  
    (1).串連到伺服器端的指定連接埠:
  
    我們採用的本地機既做伺服器也做客戶機,你可以通過修改IP地址來確定自己想要已連線的服務器。我們在串連的時候採用了"TcpClient"類,此類是在較高的抽象層級(高於Socket類)上面提供TCP服務。下面代碼就是串連到本地機(連接埠為1234),並擷取響應流:
  
  //串連到伺服器連接埠,在這裡是選用本地機器作為伺服器,你可以通過修改IP地址來改變伺服器
  try
  {
  myclient = new TcpClient ( "localhost" , 1234 ) ;
  }
  catch
  {
  MessageBox.Show ( "沒有串連到伺服器!" ) ;
  return ;
  }
  //建立networkStream對象通過網路套節字來接受和發送資料
  networkStream = myclient.GetStream ( ) ;
  streamReader = new StreamReader ( networkStream ) ;
  streamWriter = new StreamWriter ( networkStream ) ;
  
    (2).實現接受和發送資料:
  
    在接受和發送資料上面,我們依然採用了"NetworkStream"類,因為對他進行操作比較簡單,具體實現發送和接受還是通過命名空間"System.IO"中"StreamReader"類ReadLine ( )方法和"StreamWriter"類的WriteLine ( )方法。具體的實現方法如下:
  
  if ( textBox1.Text == "" )
  {
  MessageBox.Show ( "請確定文字框為非空!" ) ;
  textBox1.Focus ( ) ;
  return ;
  }
  try
  {
  string s ;
  //往當前的資料流中寫入一行字串
  streamWriter.WriteLine ( textBox1.Text ) ;
  //重新整理當前資料流中的資料
  streamWriter.Flush ( ) ;
  //從當前資料流中讀取一行字元,傳回值是字串
  s = streamReader.ReadLine ( ) ;
  ListBox1.Items.Add ( "讀取伺服器端發送內容:" + s ) ;
  }
  catch ( Exception ee )
  {
  MessageBox.Show ( "從伺服器端讀取資料出現錯誤,類型為:" + ee.ToString ( ) ) ;
  }
  
  
    (3).最後一步和伺服器端是一樣的,就是要關閉程式中建立的流,具體如下:
  
  streamReader.Close ( ) ;
  streamWriter.Close ( ) ;
  networkStream.Close ( ) ;
  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.