1. 问题#
在做 NodeJS 开发的过程中,碰到一个棘手的问题:已建立好的 TCP 连接,在网络异常情况下(拔网线),客户端无法及时的响应(close 或 error),这会影响到业务应用的。
查了不少资料,从 Linux 网络模型到 Nodejs 手册再到内核,一步步走来,算是找到了解决问题的方法,这里总结一下。
在做 NodeJS 开发的过程中,碰到一个棘手的问题:已建立好的 TCP 连接,在网络异常情况下(拔网线),客户端无法及时的响应(close 或 error),这会影响到业务应用的。
查了不少资料,从 Linux 网络模型到 Nodejs 手册再到内核,一步步走来,算是找到了解决问题的方法,这里总结一下。
NodeJS 中有两种模块加载方式:CommonJS,ECMAScript modules;前者为 NodeJS 内部实现,ES Modules 为 JS 标准加载方式。
在 Node.js 模块系统中,每个文件都被视为一个单独的模块。