有个关于nodejs http的,比较奇怪的问题,望大家帮忙分析分析
发布于 10 年前 作者 qianqing 5216 次浏览 最后一次编辑是 8 年前

场景: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已经将数据应答成功了?

6 回复

监听下请求和响应的error事件看看

@chemdemo 都已经监听了,没有反应。

android是用什么发送请求的?超时判定可能是由上层应用做出的

最好搞定了吗,我也遇到了这个问题

调试这种问题感觉好麻烦,不如两边都加入超时和重试机制吧。

收到包,然后返回ACK,只要程序没有bug,一般不会出问题,所以nodejs不会出问题。 发出包,等待目标确认,这个由网路决定,nodejs服务器发的是200 end,直接关闭本端了。 android则是在等待ACK。

你发个100响应码, 侦听"checkContinue"。

回到顶部