C# .NET網路程式設計
概述
- 網路協議:計算機之間的相互通訊需要共同遵守一定的規律原則,這些規則就稱為網路協議。常見的協議有TCP/IP(傳輸控制協議/網際協議)、IPX/SPX、NetBEUI等。在區域網中用得比較多的是IPX/SPX,使用者如果訪問Internet,則必須在網路協議中新增TCP/IP。
- 介面:兩臺主機直接的通訊是每一個網路層都將資料的控制資訊傳遞到它的下一層,一直傳輸到最底的傳輸資料的介質,即物理介質,比如光纜。網路系統的每一個實體中,聯絡相鄰兩層的通路就是介面。在介面的規範裡,定義了下層向上層該提供哪些網路服務和操作。在對等實體之間透過協議來進行橫向通訊,在單個實體內每一層透過服務介面來傳遞資訊。
- 服務:下層向上層提供的服務分為兩種形式:面向連線的服務和無連線的服務。雖然面向連線的服務方式提高了通訊資料傳輸的可靠性,但是在實際選擇方案時需要考慮通訊代價。
TCP/IP網路架構
- 網路介面層:控制網路硬體,併傳送IP資料包,管理網路介質裡的諸多協議,定義如何使用實際網路來傳送資料。
- 網際網路層:將整個網路體系結構貫穿在一起的關鍵層,負責提供基本的封包傳送功能,將資訊分組傳送到目標端,各個分組相互獨立。網際網路層定義了正式的分組格式和協議,就是我們所說的IP。
- 傳輸層:提供對等實體間的資料傳送服務,確定資料已被送達並接受。主要的協議有TCP和UDP。
- 應用層:應用程式間溝通的協議,包含所有的高層協議,如Telnet,FTP,SMTP、HTTP和DNS等。
IP地址和埠
C# .NET 網路程式設計相關類
- IPAddress 類,用於表示一個IP地址。
- DNS 類,是一種分層次的,基於域的命名方案,並且用於一個分散式資料庫系統來實現此命名方案。DNS的主要用途是將主機名和電子郵件目標地址對映成IP地址。
- IPHostEntry 類,為Internet主機地址資訊提供容器類,將一個域名系統主機名與一組匹配的IP地址關聯。
- IPEndPoint 類,將網路端點表示為IP地址和埠號,它的物件表示指定的IP地址和埠組合。
- Socket 類,為網路通訊程式提供了一套豐富的方法和屬性,比如TCPClient,TCPListener,UDPClient等。
套接字
- Stream流式套接字,提供了一個面向連線、可靠的資料傳輸服務,資料無差錯、無重複的傳送,而且按傳送順序接收。
- Dgram資料包式套接字,提供一個無連線服務。資料包以獨立包形式被髮送,不提供無錯保證,資料可能丟失或重複,並且接收順序混亂。
- Raw原始套接字,允許對較低層協議(如IP、ICMP)直接訪問。
執行緒 /petitmal/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30239065/viewspace-2734168/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C# 網路程式設計:.NET 開發者的核心技能C#程式設計
- C#與.NET入門之C# 8.0和.NET Core 3.0高階程式設計C#程式設計
- 初識C#網路程式設計C#程式設計
- 網路通訊程式設計程式設計
- py網路工具程式設計程式設計
- c#程式設計C#程式設計
- 《C# 8.0和.NET Core 3.0高階程式設計(第4版)》之“C# 與 .NET 入門 ”C#程式設計
- python 網路篇(網路程式設計)Python程式設計
- [01] C#網路程式設計的最佳實踐C#程式設計
- 網路程式設計-計算機網路三要素程式設計計算機網路
- C#非同步程式設計C#非同步程式設計
- C# 管道式程式設計C#程式設計
- C# 併發程式設計C#程式設計
- C# 非同步程式設計C#非同步程式設計
- python網路-Socket之TCP程式設計(26)PythonTCP程式設計
- C#/.net程式呼叫pythonC#Python
- .NET併發程式設計-函數語言程式設計程式設計函數
- [03] C# Alloc Free程式設計C#程式設計
- c# 程式設計學習(四)C#程式設計
- c# 程式設計學習(二)C#程式設計
- C#程式設計學習(一)C#程式設計
- linux c網路網路程式設計面試題收集Linux程式設計面試題
- .NET的併發程式設計(TPL程式設計)是什麼?程式設計
- 如何設計“.NET研究”一個簡結的移動網際網路站
- HUST-計算機網路實驗-socket程式設計計算機網路程式設計
- 程式設計路漫漫程式設計
- Java中神經網路Triton GPU程式設計Java神經網路GPU程式設計
- 設計卷積神經網路CNN為什麼不是程式設計?卷積神經網路CNN程式設計
- C#網路程式設計(基本概念和操作) - Part.1C#程式設計
- C# - 非同步程式設計 - BackgroundWorker 類C#非同步程式設計
- 【go網路程式設計】-HTTP程式設計Go程式設計HTTP
- Go 語言使用.NET 包實現 Socket 網路程式設計Go程式設計
- Java 網路程式設計(TCP程式設計 和 UDP程式設計)Java程式設計TCPUDP
- .NET 程式設計師的 Playground :LINQPad程式設計師
- .NET 中的併發程式設計程式設計
- 使用C# (.NET Core) 實現命令設計模式 (Command Pattern)C#設計模式
- 網路安全程式設計 windowns防火牆培訓程式設計防火牆
- 2025年最新退休年齡計算 | C#程式碼 | .net core程式碼C#