跳到主要内容
CNode

有个关于nodejs http的,比较奇怪的问题,望大家帮忙分析分析

社区
Qqianqing发布于 12 年前最后回复 12 年前
658550

场景: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)

T
tulayang#612 年前

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

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

A
alsotang#512 年前

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

G
gothame#412 年前

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

R
ravenwang#312 年前

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

Q
qianqing#212 年前
引用 chemdemo监听下请求和响应的error事件看看

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

C
chemdemo#112 年前

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

参与回复

登录后即可参与回复。登录