nodejs - Прерывистый TCP-клиент для TCP-сервера - PullRequest
0 голосов
/ 08 мая 2020

Я хочу создать TCP-сервер (скажем, tcpserver.js), созданный с помощью net.createServer(). У меня есть TCP-клиент (скажем, eventSource.js), который пишет на этот сервер с высокой частотой, например, 100 как таковых c. У меня есть TCP-клиент eventSink.js, который будет подключаться к этому TCP-серверу и обрабатывать полученные данные. Этот TCP-клиент будет подключаться только раз в несколько часов и всего на несколько минут. Вот мои вопросы.

  1. Как мне справиться с противодавлением в то время, когда eventSink.js не подключен?
  2. Что говорит это утверждение из NodeJs Net документация значит? Как выглядит «без слушателя» в socket.on('data', ...)?

    Данные будут потеряны, если нет слушателя, когда Socket испускает событие 'data'.

  3. Как отличить клиентские подключения от 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...