# tcpserver

Добавляет возможность использования входящих tcp подключений. Открытие и закрытие портов на слушание происходит при подаче команд start и stop соответственно. Данный модуль не требует включения в задачу.

    plugin.tcpserver:
      enable: on

      module.tcpsvr:
        - portnum:  1
          porttcp:  3040
          enable:   on
          maxcon:   10
          logging:  off
          incl:     "192.168.0.*"
          excl:     "192.168.0.2 192.168.0.3"

        - portnum:  2
          porttcp:  3041
          enable:   on

portnum | внутренний номер порта (не номер tcp-порта в системе!). По этому номеру модули-потребители (например, rpsvrtcp) будут работать портом.
porttcp | номер tcp-порта (см.также Правила выбора номера tcp-порта)
maxcon | максимально допустимое число одновременно подключенных клиентов
logging | отладочная функция логирования трафика в файл jroboplc/log/tcpserver
incl | фильтр включения имен/адресов клиентов (см. Шаблоны фильтров). При отсутствии данного параметра разрешается подключение всем клиентам.
excl | фильтр исключения имен/адресов клиентов (см. Шаблоны фильтров). При отсутствии данного параметра не запрещается подключение ни одному клиенту.
aliveTimeout_s | Время в секундах в течение которого при отсутствии запросов от клиента выполняется принудительное его отключение (с v1.0.5).

Модуль tcpserver, как и все остальные модули, инициализируется при старте системы, открывая указанные в своей конфигурации порты. После этого он готов к приему входящего клиентского подключения. После установки соединения с клиентом данный модуль ничего ему не посылает, как и ничего не делает с данными, которые от него (клиента) могут прийти. Работу с данными ведет другой модуль-потребитель, у которого в своей конфигурации должна быть ссылка на один из портов модуля tcpserver. Каждый из портов может иметь не более одного потребителя, например, модули rpsvrtcp и tcpconsole не могут ссылаться на один и тот же порт.