2014-01-21 113 views

回答

1

POSIX和Windows套接字分別是POSIX和Windows系統使用的API。 Windows套接字API是在POSIX(以前的BSD)API之後建模的,因此它們共享了很多功能。這些API可以在C和C++中使用。

Websockets是完全不同的東西,實際上是一個在TCP之上的協議(但使用HTTP進行初始握手)。

3

C sockets API是用於創建基於流的套接字(TCP套接字,UNIX域套接字)和基於數據報的套接字(UDP套接字)的低級機制。 POSIX API和Windows API有些不同(有時以微妙的方式... Windows有許多POSIX函數,但有時支持的選項或行爲在微妙的,令人驚訝的方式上是不同的)。

WebSockets是一個在JavaScript中使用的API,它爲Web開發人員提供了訪問這個低級API的能力的手段(並且可能不是您作爲C++程序員感興趣的東西)。在Web套接字之前,Web開發人員只能使用XMLHttpRequest(XHR)來執行請求,這需要一個完整的HTTP請求/響應,並且不允許使用相同類型的持久連接和較低級別API的輕量級通信。

現在,就您作爲開發人員實際應該做什麼而言,您可能希望重新使用現有的庫進行任何套接字編程。有一些庫可以很容易地將HTTP(或RPC)服務器嵌入到應用程序中,或向其他HTTP(或RPC)服務器發出請求。對於大多數應用程序員來說,這可能是你感興趣的東西(除非你試圖對網絡本身做一些事情)。

+0

這是否意味着WebSocket API是C socket API的高級別等價物,並且實際上都在客戶端和服務器之間創建套接字? – Computernerd