2017-03-06 109 views
-2

我從5個月開始練習web開發,並且已經學習了html,css,js,php,mysql,但現在我想學習實時通信我一直在學習webrtc(信令,p2p等)和websockets(開放通信)背後的理論,但由於http和ws的差異,無法實現它。我可能會被誤解,但是ws和http不會一起工作。如何設置apache或nodejs使用ws並響應客戶端?請幫助和簡要的解釋將有助於瞭解其餘的缺少的概念。請把我當作初學者,並解釋如何使用websocket和webrtc?以及如何爲websocket通信設置服務器

+1

有要麼太多可能的答案,還是很好的答案就太長了這種格式。請添加詳細信息以縮小答案集或隔離可以用幾個段落回答的問題。我建議你找一個開發論壇(也許[Quora](http://www.quora.com/Computer-Programming?))來解決一般問題。然後,如果您有特定的編碼問題,請回到Stack Overflow,我們很樂意提供幫助。 –

+0

我已經嘗試過quora,但老實說沒有人回答。我只需要建立一個服務器來使用ws的過程。 – sudhanshu

回答

0

​​可能會幫助您瞭解webRTC的工作原理。

簡單的例子

var peerConnCfg = {'iceServers': [{'url': 'stun:stun.l.google.com:19302'}]}, 
    peerConn= new RTCPeerConnection(peerConnCfg), 
    signalingChannel = new WebSocket('ws://my-websocket-server:port/'); 

peerConn.onicecandidate = function (evt) { 
    // send any ice candidates to the other peer, i.e., evt.candidate 
    signalingChannel.send(JSON.stringify({ "candidate": evt.candidate })); 
}; 

signalingChannel.onmessage = function (evt) { 
    var signal = JSON.parse(evt.data); 
    if (signal.sdp) 
    peerConn.setRemoteDescription(new RTCSessionDescription(signal.sdp)); 
    else if (signal.candidate) 
    peerConn.addIceCandidate(new RTCIceCandidate(signal.candidate)); 
}; 

basic tutorial can be found here

+0

謝謝。另一個疑問是有多少種方法可以使用信令進行p2p連接。 – sudhanshu

相關問題