fpzeng / KSYStreamer_Android

金山云Android采集推流SDK(Livestream SDK),支持内置/自定义美颜(Beauty Filter)、美声(Beauty Voice)、软硬编(Software/Hardware Encoder) 、网络自适应(Network Auto Adapt)、混音(Voice Mixer)、混响(Reverb)、画中画(PIP)、连麦(RTC)、动态贴纸(Sticker)、大眼瘦脸(Bigger Eyes and Smaller Faces)
https://github.com/ksvc/KSYStreamer_Android/releases
730 stars 208 forks source link

开播一分钟之内,有个网络请求阻塞了所有进程 #275

Open AsTheWorld opened 6 years ago

AsTheWorld commented 6 years ago

开播一分钟之内,推流sdk会调这个接口,post大量数据,然后应用内所有网络请求都会被阻塞,但是推流正常,请问怎么处理才能不被阻塞:http://videodev.ksyun.com:8980/univ/monitorclient?accesskey=D8uDWZ88ZKUCPu0KRJkR&expire=1523416005&uniqname=ksystreamer_android&contmd5=99DB138A0D6DFF4E691F1553A8165FB0&signature=6tXKSo7Wo%2BSZkHNDOXlgLkNJNWg%3D

zanxiaofei commented 6 years ago

是一直在请求还是间断性的,每隔1分钟? 方便提供一下日志嘛

AsTheWorld commented 6 years ago

刚开播的一分钟内,就请求一次,好像没有日志,我是抓包抓的这个请求

zanxiaofei commented 6 years ago

请求一次属于正常的请求呀,我们抓包确认这个请求在60ms之内完毕了,不会造成阻塞哦 你那便是怎么判定阻塞的?

FCBzxn commented 6 years ago

在这个请求完成之前,我们应用内所有网络请求都发不出去

zanxiaofei commented 6 years ago

抓包显示这个请求耗费了多久?

FCBzxn commented 6 years ago

大概50秒

zanxiaofei commented 6 years ago

检查一下网络吧,用的什么网,我们这边基本是在毫秒级别的
50s是这边的一个超时时间,这边采用的是HttpPost发送的数据
这个请求目前没有中断的接口

FCBzxn commented 6 years ago

我们用的是okhttp

zanxiaofei commented 6 years ago

什么网?移动?联通?或者其它运营商

FCBzxn commented 6 years ago

测试的wifi,如果开vpn推流的话没有这个问题

zanxiaofei commented 6 years ago

50s之内应用内其它请求都没发出去,50s后全都发出去了?

FCBzxn commented 6 years ago

对,我生成正式包后,是30s,30s后我的请求都没问题了

zanxiaofei commented 6 years ago

上面的那个http请求和你的http请求理论上不会在一个线程,所以理论上不同线程的http请求,不会相互阻塞的,你测试的wifi是什么网?开vpn又是什么网?http://videodev.ksyun.com:8980/univ/monitorclient能ping通嘛

方便的话,加一下620036233群沟通一下

zanxiaofei commented 6 years ago

我们也模拟了一下你这种场景,在monitorclient请求不能返回的情况下,使用OKhttp发送其他的http请求,是可以发送成功的

zanxiaofei commented 6 years ago

如果需要的话,可以把我们的demo发送给你,你在你的网络环境上试一下

FCBzxn commented 6 years ago

嗯,发给我测试一下

zanxiaofei commented 6 years ago

你加一下qq群吧

FCBzxn commented 6 years ago

我已经在群里了,昨天我问这个问题,没人回复

zanxiaofei commented 6 years ago

你再问一下,昨天没看到