Я хочу создать TCP-сервер (скажем, tcpserver.js
), созданный с помощью net.createServer()
. У меня есть TCP-клиент (скажем, eventSource.js
), который пишет на этот сервер с высокой частотой, например, 100 как таковых c. У меня есть TCP-клиент eventSink.js
, который будет подключаться к этому TCP-серверу и обрабатывать полученные данные. Этот TCP-клиент будет подключаться только раз в несколько часов и всего на несколько минут. Вот мои вопросы.
- Как мне справиться с противодавлением в то время, когда
eventSink.js
не подключен? - Что говорит это утверждение из NodeJs Net документация значит? Как выглядит «без слушателя» в
socket.on('data', ...)
? Данные будут потеряны, если нет слушателя, когда Socket испускает событие 'data'.
- Как отличить клиентские подключения от
eventSource.js
и eventSink.js
?
Не могли бы вы показать мне псевдокод, чтобы начать работу?
Это то, что у меня есть для tcpserver.js
.
const net = require('net')
class TcpServer {
constructor(port) {
this.tcpServer = net.createServer((c) => {
c.on('close', (err) => {
if (err) {
console.log('Error in closing socket connection.')
} else {
this.tcpServer.close()
}
})
c.on('data', (buffer) => {
// help...
})
this.tcpServer.listen(port, () => {
// ...
});
}
}
exports.TcpServer = TcpServer