网络状况

本章节介绍有关网络状况的功能。针对网络状况,网易云提供了网络探测网络状况回调这两个功能。

网络探测是一个辅助的网络情况测试工具,可以探测音视频通话网络的连通性、丢包率和延迟等信息。目前支持选择音频通话和视频通话这两种通话模式的探测,视频通话的网络探测支持选择相应的清晰度进行探测。另外,网络探测会占用网络带宽资源,建议在通话开始之前使用以免影响通话质量。

网络状况回调是通话过程中,SDK定时会通知上层当前的网络状况。值得注意的是,这个网络状况是基于当前的实际通话情况的。比如,当前正进行的是音频通话,上报的网络情况是良好,那只是说明当前的网络情况可以很好地满足音频通话,并不能说明当前进行视频通话也会很流畅。

网络探测

var detectType = Netcall.NETDETECT_AUDIO
netcall.netDetect(detectType)
  .then(function(obj) {
    console.log('netDetect success', obj)
  })
  .catch(function(err) {
    console.log('netDetect error', err)
  })
参数名 类型 说明
detectType number 需要探测的类型,可选值参照这里

obj 为探测结果对象,属性如下

obj属性名 类型 说明
code number 是否探测成功
status number 探测结果类型,可选值参照这里

网络状况回调

netcall.on('netStatus', function(obj) {
    console.log('当前网络情况', obj)
})

obj 为网络情况结果对象,属性如下

obj属性名 类型 说明
account string 当前的账号名
status number 网络情况结果类型,可选值参照这里

网络探测(webrtc)


netcall.detectNetworkStatus({detectTime: 30})
  .then(function(obj) {
    console.log('netDetect completed', obj)
  })
  .catch(function(err) {
    console.log('netDetect error', err)
  })
参数名 类型 说明
detectType number 探测的时间,[建议15s以上]

obj 为探测结果对象,属性如下

obj属性名 类型 说明
cid number 本次测试的频道id
user_ip number 本次测试的自己端的外网IP
server_ip number 本次的测试的服务器端的IP
browser string 本次的测试使用的浏览器类型
upload_network_status array 探测结果上行链路的详细信息
download_network_status array 探测结果上行链路的详细信息

upload_network_status 为探测结果上行链路的详细信息,属性如下

obj属性名 类型 说明
up_rtt number 上行链路的延迟
up_loss number 上行链路的丢包率
up_bwe number 上行链路的带宽
up_framerate number 上行链路的视频帧率
up_resolution string 上行链路的视频分辨率
codec string 上行链路的视频编码类型
up_status string 上行链路是否建立成功
network_status string 上行链路状况说明

download_network_status 为探测结果上行链路的详细信息,属性如下

obj属性名 类型 说明
down_rtt number 下行链路的延迟
down_loss number 下行链路的丢包率
down_bwe number 下行链路的带宽
down_framerate number 下行链路的视频帧率
down_resolution string 下行链路的视频分辨率
codec string 下行链路的视频编码类型
down_status string 下行链路是否建立成功
network_status string 下行链路状况说明