2016-07-14 240 views
0

我知道的WebSocket是一個協議,所以正好通過FTP或HTTP進行通信,應該不依賴於任何操作系統的要求。我發現不同的庫使用這個協議,但他們似乎對.Net 4+(沒有Windows XP),至少Visual Studio 2015(至少Windows 7)有要求,並且經常沒有要求...直到我嘗試編譯或運行某個庫的示例(在安裝編譯它所需的任何內容之後),並且我得到關於無效參數的運行時錯誤,這些錯誤不是支持的,錯誤的和錯誤的。的WebSocket服務器最低要求

後theese試驗和錯誤的天,我決定問這個奇怪的問題:有使用這些協議與舊的操作系統的方式,例如Windows XP或舊版本的Linux?我發現了瀏覽器支持的每個細節,但顯然它僅適用於客戶端。用js編寫的服務器的Node.js甚至可以用於舊計算機和操作系統?

我無法找到任何地方什麼是編寫監聽websocket的服務器的最低要求(這是一個協議,所以它不是很難相信我什麼都沒找到:/),我需要通過語言或框架要求進行演繹(例如.net 4+,所以不是Windows XP)。

我想用websocket做RPC,但是我無法在Windows XP和Visual Studio 2010中運行WAMP(https://stackoverflow.com/a/10882808/1315873)的服務器(它在Windows 7下在Visual Studio 2015下完美運行)。

我可以用其他語言來接受WebSocket連接......我的軟件的另一部分是寫在.NET 3.5,所以我需要找到的東西不是要拼命從打電話和.NET 3.5。

謝謝你的幫助或解釋。

回答

2

用於編寫的WebSocket服務器唯一的系統要求是,你必須TCP和可以建立一個TCP服務器,偵聽傳入連接。 webSocket只是TCP上的一個協議。

webSocket連接在技術上是用HTTP請求啓動的,但是您需要的HTTP部分非常簡單(只需解析幾個傳入標頭以識別安全憑證和升級到webSocket協議的請求),並且一旦雙方同意升級,然後協議切換到webSocket並且HTTP不再在該連接上使用。

你是什麼人可能情迷是,你看是自己建立在其他庫(如.NET)的頂部,其產生這些其他庫的依賴WebSocket的庫。這純粹是其實施的副產品,而不是以任何方式對協議的要求。

所以,是的,它肯定是可以編寫具有比TCP庫中的其他任何外部依賴性的WebSocket的服務器,並且可以很容易地在Windows XP上運行。