2017-03-06 107 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

相关问题