Socket是一種應用於簡化網路程式設計模型的概念,資料想要成功的透過網路傳送,通常必須經過相當繁雜的程序,像是資料封包切割、傳輸與重組等等,使用Socket觀念來處理網路連線,可以避免這些繁複的細節,我們只須將網路連線資料的傳輸,當作檔案資料流來處理,將資料寫入Socket然後傳送到網路,或是從Socket讀取網路傳送進來的資料。
Socket扮演一種類似磁碟功能的角色,我們可以從中存取資料,不用擔心網路連線與資料傳送的細節,Socket的觀念最早由 Berkeley UNIX 所提出,而 .NET Framework類別庫的命名空間System.Net. Sockets提供了相關的實作類別,其中的Socket類別實作Berkeley sockets介面,提供資料傳送與接送、網路連線與指定端點連繫等方法,透過這些方法,我們可以輕易的實作具備網路連線傳輸服務的應用程式。