我的HTTP服务器需要确保将HTTP响应传递给客户端。
我觉得(我会这样实现),最正确的方法是发送"我收到数据"来自客户的请求。
但我有一点学术问题:
服务器是否有一些其他意味着检测是否传递给客户端(例如由于客户端的计算机是由于直接命中H-bomb而被蒸发掉)数据传输)?
类:http.ServerResponse
...
活动:'完成'
发送回复后发出。更具体地说,这个事件 在响应头和主体的最后一段时发出 被移交给操作系统进行传输 网络。这并不意味着客户已收到任何信息。
此事件发生后,响应不会再发出任何事件 对象
此外,我并没有在“网络”中找到更好的结果。模块文档。
所以我似乎只能知道我的数据是在内核缓冲区中通过网络进行传输。
我可以通过Node.js检测此传输中的一些错误吗?
我可以通过一些易于实现的非Node.js来检测此传输中的一些错误吗?
任何链接和想法,这不是HTTP方式,甚至不是TCP方式,也赞赏。
答案 0 :(得分:1)
关于TCP的事情是接收器必须承认它接收每一位数据的事实。如果情况并非如此,发件人会不断发送接收方尚未确认接收的数据。
我检查了网络模块,我看到了这个有趣的部分:
Event: 'end'
#
Added in: v0.1.90
Emitted when the other end of the socket sends a FIN packet.
我没有这方面的实现想法,但是,这可能对你的情况有用。