首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 網路程式設計基礎 (1/1):TCP、Socket、三種架構與監聽連線入門

     編輯:關於C語言

系列簡介

5 篇系列教學:基礎概念 → 同步字串傳輸 → 非同步強化 → 檔案傳輸 → 聊天室綜合實作。另參考「C# 簡易聊天程式」 (不同實作)。

TCP 協議核心特性

  • 面向連線:三向交握 (SYN, SYN-ACK, ACK) 確認連線後才傳資料。
  • 全雙工:雙向同時傳輸。
  • 點對點:單一連線僅兩端點,無廣播。
  • 可靠有序:封包必達、保序 (發 ABC 收 ABC)。

Socket 概念:應用層與傳輸層的介面

應用程式 (應用層) 透過 Socket「小口」送入資料,隨後由傳輸層 (TCP)、網路層 (IP)、資料鏈路層、物理層處理傳輸細節。類比:寫信 (應用層) → 投入郵筒 (Socket) → 郵局/公路/航線 (底層協議)。

三種聊天室架構 (詳見第 3 篇)

  1. 純 P2P (UDP Broadcast 發現)
  2. Server 發現 + P2P 傳輸
  3. Server 轉發 (採用,支援離線快取、NAT 友善)

基本操作:監聽 Port

IPAddress ip = IPAddress.Parse("127.0.0.1");
TcpListener listener = new TcpListener(ip, 8500);
listener.Start(); // 開啟監聽
// netstat -a 可見 PORT 8500 LISTENING

基本操作:用戶端連線

TcpClient client = new TcpClient();
client.Connect("localhost", 8500); // 同步阻塞連線
// 連線成功後可透過 client.GetStream() 收發資料
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved