是否可以在Node.js上以模仿Socket.io(WebSockets)的功能(最好是API)的方式使用WebRTC數據通道,但使用UDP除外?WebRTC數據通道服務器到客戶端UDP通信
實質上,我希望有一臺服務器運行Node.js,瀏覽器客戶端可以通過JavaScript建立全雙工雙向UDP連接。
是否可以在Node.js上以模仿Socket.io(WebSockets)的功能(最好是API)的方式使用WebRTC數據通道,但使用UDP除外?WebRTC數據通道服務器到客戶端UDP通信
實質上,我希望有一臺服務器運行Node.js,瀏覽器客戶端可以通過JavaScript建立全雙工雙向UDP連接。
沒有爲node.js的一個的WebRTC模塊:https://js-platform.github.io/node-webrtc/
安裝可真夠麻煩的(至少可以這樣說),但如果你成功了,你就可以讓你的node.js服務器作爲WebRTC對等體就像瀏覽器一樣。這樣你就可以在瀏覽器和你的node.js服務器之間打開一個數據通道。
我們有這個在我們的研究項目中使用,以評估性能特點。
是的,理論上你應該可以做到這一點。但是,您需要一個支持WebRTC數據通道的節點模塊,以便可以像其他任何節點一樣連接到它。不幸的是,通過current modules掃描,我沒有看到一個實現數據通道。
另一件需要注意的是WebRTC數據通道可以配置爲不同的reliability modes,可靠模式是通過SCTP(Firefox和Chrome)實現的。
測試數據通道時,我會建議您使用Firefox,因爲WebRTC的工作是分開的,這樣Chrome最初專注於DataChannel上的PeerConnection和Firefox(因此Firefox在DataChannel的實現方面仍然領先)。
謝謝,這證實了我的懷疑。 我希望有人創建一個模塊來模擬Websockets的API,支持多個連接的客戶端。 – Willem
我其實最感興趣的是不可靠的模式(0次重發)。 WebRTC是否通過SCTP或其他方式支持這一點? – Willem
我認爲不可靠的模式最初是建立在[Chrome中的RTP](https://code.google.com/p/webrtc/issues/detail?id=1494)上,但所有內容都將[最終基於SCTP] (https://code.google.com/p/webrtc/issues/detail?id=1430)。 Mozilla使用數據通道的SCTP庫位於:https://code.google.com/p/sctp-refimpl/ –
是否有一個接口將node.js服務器連接到多個瀏覽器客戶端並處理它們,類似於在Socket.io中處理多個websocket客戶端? – Willem
也許你可以使用WebRTC JS包裝器之一。像webrtc.io或orca.js這樣的包裝器的問題在於,它們是建立在瀏覽器上的,所以你很可能不得不調整它們以用於服務器端。 – Makkes
那麼這些包裝器允許瀏覽器客戶端作爲與多個其他瀏覽器通信的終點嗎? – Willem