Я борюсь с моим хобби-проектом node.js из-за ошибки "write after end". У меня есть созданный веб-сервер node.js, который, среди прочего, отправляет команды, полученные с HTML-страницы, на другой процесс, используя следующий код:
var netSocket = require('net').Socket();
netSocket.connect(9090);
netSocket.write(messages);
netSocket.end();
Это работает до тех пор, пока трафик не начнет увеличиваться (т.е. количество отправляемых сообщений и размер сообщений). В этот момент я получаю следующую ошибку:
Error: write after end
at writeAfterEnd (_stream_writable.js:132:12)
at Socket.Writable.write (_stream_writable.js:180:5)
at Socket.write (net.js:615:40)
at Socket.<anonymous> (/Users/mark/Documents/GitHub Repos/voice_controlled_zumo/speech_module/web_server_HTTPS.js:66:15)
at Socket.emit (events.js:95:17)
at Socket.onevent (/Users/mark/Documents/GitHub Repos/voice_controlled_zumo/node_modules/socket.io/lib/socket.js:327:8)
at Socket.onpacket (/Users/mark/Documents/GitHub Repos/voice_controlled_zumo/node_modules/socket.io/lib/socket.js:287:12)
at Client.ondecoded (/Users/mark/Documents/GitHub Repos/voice_controlled_zumo/node_modules/socket.io/lib/client.js:193:14)
at Decoder.Emitter.emit (/Users/mark/Documents/GitHub Repos/voice_controlled_zumo/node_modules/socket.io/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
Я предполагаю, что сервер на 9090 перегружен количеством трафика, что приводит к ошибке. Будучи полноправным новичком в мире node.js, я бы очень признателен за любые подсказки о том, как я могу решить эту проблему.
Обратите внимание, что веб-сервер обслуживает страницы через SSL (в случае, если это имеет значение).
Спасибо, что нашли время, чтобы прочитать это!
Марк