我正在进行webrtc调用,并成功地运行了WEBRTC站点上可用的AppRTCDemo。我已经看过了代码,并坚持了几点:
1:当我输入网址时,它击中了服务器,我得到了类似于的响应:
response return from server{"meta_viewport":"","pc_constraints":"{\"optional\": [{\"googImprovedWifiBwe\": true}]}","opusfec":"true","include_vr_js":"","vsbr":"","audio_receive_codec":"opus\/48000","arbr":"","vrbr":"","vsibr":"","token":"AHRlWroqCeuFFBWs4dLJRahxtwho2ldeH_94M_ZipRkK7aIH3nAiSFfScjb_Opz2LwC9xVeWeQrJkRWQAeTsK5sxdJEPoC3jP8uQXkE23QnSANqoBwsHOM4","initiator":1,"ssr":"","room_key":"95505311","pc_config":"{\"iceServers\": [{\"urls\": \"stun:stun.l.google.com:19302\"}]}","stereo":"false","audio_send_codec":"","turn_url":"https:\/\/computeengineondemand.appspot.com\/turn?username=77294535&key=4080218913","me":"77294535","room_link":"https:\/\/apprtc.appspot.com\/?r=95505311&t=json","error_messages":[],"offer_constraints":"{\"optional\": [], \"mandatory\": {}}","asbr":"","media_constraints":"{\"audio\": true, \"video\": true}"}在这里,我只想知道他们到底在哪里创建iceServer?在他们的服务器上,或者他们的channel.html文件中是否有任何代码。
有没有任何方法可以在没有服务器的应用程序上生成iceServer?还是IceServer是我们从服务器发送的眩晕/转URL?
关于Channel.html,我也很少有疑问:
channel.html文件到底是如何帮助这个演示运行的?我也经历过这个过程,它调用onOpen()并调用GAECLIENT类方法。
谢谢,
发布于 2014-11-11 15:17:59
无论要使用哪个ice服务器,在构造它时,都会传递给RTCPeerConnection构造函数(对象称为学徒示例的pc )。您可以通过查看pcConfig对象来具体地看到服务器。
一旦创建了连接(在本例中调用启动之前不会完成),就会设置localDescription( RTCSessionDescription对象)。一旦设置好了,WebRTC api将开始在创建对等连接时首次引入的冰服务器上自动收集IceCandidates。一旦创建了新的候选对象,就会触发onicecandidate事件(如果在创建pc对象之后查看该回调函数,则可以看到用于传输候选对象的函数)。
因此,一般步骤如下:
createOffer或createAnswer函数中设置的成功回调创建的)。onicecandidate事件。现在,专门针对apprtc演示页面,它使用了一个开放的stun服务器stun:stun.l.google.com:19302和一系列封闭的转服务器(托管在Google的云上),这些服务器具有在页面加载时收集的动态凭证。
https://stackoverflow.com/questions/26862932
复制相似问题