簡體   English   中英

Windows最低級別的套接字編程?

[英]Windows lowest level socket programming?

我對低水平的winsock有點困惑? 我想在Windows上編寫一個非常基本的客戶端-服務器程序。 我真的不希望使用a腫的TCP甚至UDP,而只是使用一些非常基本且延遲很短的東西。 Winsock對此是否理想? 還是Winsock與Windows網絡功能相同,只是打包了(可能更慢)? 僅在本機Windows網絡功能上使用PInvoke會更好嗎?

Winsock,TCP,UDP以及在這些基礎之上構建的任何廣受歡迎的網絡庫都將在性能上具有可比性。

使用最容易完成的工作。

首先,可以編寫不帶網絡驅動程序的全新協議。 為此,您有原始套接字 在桌面Windows上,它們非常有限 (找到“限制”)。

有可能,但不建議這樣做。 在完全確定需要更高級的東西(而不是更簡單的東西)之前,不要重新發明輪子並在UDP和TCP之間進行選擇。

要通過網絡發送數據(與兩台計算機之間的直接電纜鏈接相反),您需要IP協議。 要將數據分發到正確的應用程序,您需要傳輸協議(UDP,TCP和其他協議)。 UDP幾乎是最簡單的一種,因為這是它的主要設計目標。 UDP提供其他尋址(除了IP地址以外的端口號,用於將數據傳送到正確的套接字),數據包邊界(“長度”字段)和可選的校驗和。 僅此而已,這是最低功能列表。 采取它並通過UDP實現所需的一切。

接下來,如果您需要確保您的數據包已傳遞,而不是在途中被靜默丟棄(可靠性),請以正確的順序傳遞,如果您想知道有人仍然在另一端收聽您的消息(連接性),並且最好的專家實施的其他事情,以及與該實現相適應的硬件,數十年來經過數百萬次測試,並提供了幾乎所有可能的平台上可用的大量文檔-使用TCP。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM