我在Node.JS上运行了一个简单的跟踪应用程序,它基本上解析了它给出的URL并返回1×1像素的gif图像.每天几次我在日志中收到以下错误: Error: Socket is not writable at Socket._writeOut (net.js:391:11
Error: Socket is not writable at Socket._writeOut (net.js:391:11) at Socket.write (net.js:377:17) at ServerResponse._writeRaw (http.js:392:28) at ServerResponse._send (http.js:372:15) at ServerResponse.write (http.js:622:16) at ServerResponse.end (http.js:682:16) at /var/www/app.js:221:7 at Server.<anonymous> (/var/www/app.js:234:3) at Server.emit (events.js:67:17) at HTTPParser.onIncoming (http.js:1124:12)
我完全不知道造成这种情况的原因.任何想法在哪里看? (它发生在不同的UA上,虽然直到现在我才看到它发生在请求来自Windows机器但是考虑到绝大多数机器是Windows,这并不意味着什么).
您应该向 https://github.com/joyent/node/issues?state=open提交错误它可能违反了模块或系统HTTP模块中的常规流写入协议:如果write()失败,请等待drain()事件.因此,您应该查找代码中的失败写入和编译到/usr/bin/node二进制文件中的HTTP javascript模块,并仔细检查是否遵守了排除等待.排水事件很少见,因此很可能长时间没有注意到这个错误.