Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
doc:jroboplc:modules:tcpserver [2013/05/12 20:20] jamis7005 создано |
doc:jroboplc:modules:tcpserver [2020/10/08 16:46] (текущий) denis |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== tcpserver ====== | ====== tcpserver ====== | ||
- | ==== Назначение ==== | + | Добавляет возможность использования входящих tcp подключений. Открытие и закрытие портов на слушание происходит при подаче команд start и stop соответственно. Данный модуль не требует включения в задачу. |
- | . | + | |
- | ==== Класс модуля ==== | ||
- | promauto.jroboplc.plugin.**tcpserver.TcpServerModule** | ||
- | ==== tcpserver.conf.yml ==== | ||
<code yaml> | <code yaml> | ||
+ | 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 | ||
</code> | </code> | ||
- | ==== Описание ==== | ||
- | **module.<name>** - название модуля | + | |**portnum** | внутренний номер порта (не номер tcp-порта в системе!). По этому номеру модули-потребители (например, [[doc:jroboplc:modules:rpsvrtcp]]) будут работать портом. | |
- | + | |**porttcp** | номер tcp-порта (см.также [[doc:jroboplc:tcp_port_select_guide]]) | | |
- | **** - | + | |**maxcon** | максимально допустимое число одновременно подключенных клиентов | |
+ | |**logging** | отладочная функция логирования трафика в файл jroboplc/log/tcpserver | | ||
+ | |**incl** | фильтр включения имен/адресов клиентов (см. [[doc:jroboplc:notes:filter_pattern_rules]]). При отсутствии данного параметра разрешается подключение всем клиентам. | | ||
+ | |**excl** | фильтр исключения имен/адресов клиентов (см. [[doc:jroboplc:notes:filter_pattern_rules]]). При отсутствии данного параметра не запрещается подключение ни одному клиенту. | | ||
+ | |**aliveTimeout_s** |Время в секундах в течение которого при отсутствии запросов от клиента выполняется принудительное его отключение (с v1.0.5). | | ||
+ | |||
+ | |||
+ | Модуль tcpserver, как и все остальные модули, инициализируется при старте системы, открывая указанные в своей конфигурации порты. После этого он готов к приему входящего клиентского подключения. После установки соединения с клиентом данный модуль ничего ему не посылает, как и ничего не делает с данными, которые от него (клиента) могут прийти. Работу с данными ведет другой модуль-потребитель, у которого в своей конфигурации должна быть ссылка на один из портов модуля tcpserver. Каждый из портов может иметь не более одного потребителя, например, модули [[doc:jroboplc:modules:rpsvrtcp]] и [[doc:jroboplc:modules:tcpconsole]] не могут ссылаться на один и тот же порт. |