2015-09-03 36 views
0

我的情況是,我需要在位於同一網絡上的兩臺計算機之間建立雙向信令通道。這實際上只是來回發送「ping」。這兩臺電腦都可以被視爲相同的特權。peer.js/webrtc - 如何設置超級簡單的數據連接?

我正在嘗試使用peer.js抽象的webrtc來打開一個簡單的數據通道。我想盡可能在​​兩個客戶端上使用相同的代碼。

理想的解決方案是:兩個用戶可以進入網站並自動連接到一起,而無需選擇要連接的ID /遠程ID。

我不明白:是否需要專門指定一個調用者/監聽者,或者雙方都可以開始連接?任何人都可以指出我最簡單的實現這種連接嗎?我爲他們的服務器使用免費的開發密鑰來運行連接代理。謝謝!

+0

檢查http://socket.io/blog/socket-io-p2p/#,沒有嘗試過,但它聽起來很有希望。 – mido

回答

0

使用peer.js,您必須知道要連接的對等方的連接ID。這意味着您需要一些服務器端邏輯來代理連接。

如果您只是總想連接最新的兩個傳入客戶端,您可以簡單地以1開頭爲id,嘗試構建Peer,並在失敗時遞增該ID並再次嘗試。然後,如果您成功使用了奇數,則什麼都不做,並且當您成功使用偶數時,打開與yourid - 1的連接並開始使用連接。

0

如果您自行PeerJS服務器(這是在Heroku上很容易,有一個「部署到Heroku的」對他們的回購按鈕),您可以通過使用該得到的所有連接夥伴的名單。

listAllPeers(function cb(list){...});

它發出的所有連接夥伴的列表,你可以寫一個隨機返回一個ID &那些同齡人連接在一起。你也可以在屏幕上填充一個列表&讓用戶選擇其中的任何一個。這種情況下的對等ID是由服務器爲您自動生成的。