Webrtc iceCandidate在AppTcdemo中的具体生成位置?

Webrtc iceCandidate在AppTcdemo中的具体生成位置?,webrtc,server,Webrtc,Server,我正在进行webrtc点对点呼叫,并成功运行webrtc站点上可用的ApprtDemo。我已经阅读了代码,并坚持了几点: 1:当我输入URL时,它击中了服务器,我得到了类似于的响应: response return from server{"meta_viewport":"","pc_constraints":"{\"optional\": [{\"googImprovedWifiBwe\": true}]}","opusfec":"true","include_vr_js":"","vsbr"

我正在进行webrtc点对点呼叫,并成功运行webrtc站点上可用的ApprtDemo。我已经阅读了代码,并坚持了几点:

1:当我输入URL时,它击中了服务器,我得到了类似于的响应:

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类方法


谢谢,

无论哪个ice服务器将被使用,在构建时都会传递给RTPeerConnection构造函数(对于apprtc示例,该对象称为
pc
)。通过查看
pcConfig
对象,可以具体查看服务器

一旦创建了连接(在本例中,只有在调用启动后才会进行连接),就会设置localDescription(一个
RTCSessionDescription
对象)。一旦设置完毕,WebRTC api将开始根据创建对等连接时首次引入的ice服务器自动收集候选ice。创建新候选对象后,将触发
onicecandidate
事件(如果在创建
pc
对象后查看该回调,则可以看到用于传输候选对象的函数)

因此,一般步骤如下:

  • 设置创建RTCPPeerConnection对象时要收集候选对象的ICEServer
  • 将localDescription设置为您创建的本地RTCSessionDescription对象(通常通过您在peerconnection的
    createOffer
    createAnswer
    函数中设置的成功回调创建)
  • 构建peerconnection时,它将开始根据您设置的服务器自动收集候选服务器,并对每个候选服务器触发
    onicecandidate
    事件

  • 现在,特别是对于apprtc演示页面,它使用了一个开放的stun服务器
    stun:stun.l.google.com:19302
    和一系列封闭式服务器(托管在谷歌云上),这些服务器在页面加载时收集动态凭证。

    你说的“创建iceServer”是什么意思?您是否在询问示例正在使用哪些Ice服务器?你是在问候选人是如何产生的吗?你说的“生成iceServer”是什么意思?是的,候选人是如何创建的?谢谢Benjamin,你能帮我了解一下WEBRTC android应用程序流程吗。我读了很多文章,但没有找到正确的答案。RTCpperConnectionAPI仅用于web,在android中,我们有PeerConnection和PeerConnectionFactory。我的问题是,如果我从android应用程序开始,服务器到底能帮我什么,比如如果调用URL,那么我应该期望从服务器得到什么响应,以及我如何连接调用。这是一个完全不同的问题,如果这样问,会让其他人受益。但是,通常情况下,您应该期望得到完全相同的响应类型,并相应地处理它们(尽管如果使用本机API,代码会有所不同)。