场景:android + nodejs http通讯模拟测试 具体描述:最近帮测试人员做了测试模拟程序,主要用于测试在android手机网络情况极端不稳定情况下,和后端nodejs 服务器之间http通讯的稳定性。android手机每秒发送一次http request,nodejs收到req后直接将req中的data返回。
问题:在网络不稳定情况,偶尔有几次request会出现这种情况:nodejs正常收到request,并且成功response,整个过程没有error(已经监听clientError,以及在response.end的时候检查是否有error)。但是android端缺没有收到response,最后变成请求超时。
我不明白,如果是链接端了,发nodejs做response的时候不是应该有异常吗?如果没有发生异常,是否意味着nodejs已经将数据应答成功了?
监听下请求和响应的error事件看看
@chemdemo 都已经监听了,没有反应。
android是用什么发送请求的?超时判定可能是由上层应用做出的
最好搞定了吗,我也遇到了这个问题
调试这种问题感觉好麻烦,不如两边都加入超时和重试机制吧。
收到包,然后返回ACK,只要程序没有bug,一般不会出问题,所以nodejs不会出问题。 发出包,等待目标确认,这个由网路决定,nodejs服务器发的是200 end,直接关闭本端了。 android则是在等待ACK。
你发个100响应码, 侦听"checkContinue"。