Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:jroboplc:modules:tcpserver [2013/05/13 19:44] 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> | ||
- | default: &default | + | plugin.tcpserver: |
- | logging: off | + | enable: on |
- | maxcon: 10 | + | |
- | module.tcpsvr: | + | module.tcpsvr: |
- | - portnum: 1 | + | - portnum: 1 |
- | porttcp: 3040 | + | porttcp: 3040 |
- | enable: on | + | enable: on |
- | # logging: off | + | maxcon: 10 |
- | incl: "*denis* 192.168.0.4" | + | logging: off |
- | # excl: '192.168.0.33' | + | incl: "192.168.0.*" |
- | <<: *default | + | excl: "192.168.0.2 192.168.0.3" |
- | - portnum: 2 | + | - portnum: 2 |
- | porttcp: 3041 | + | porttcp: 3041 |
- | enable: on | + | enable: on |
- | <<: *default | + | |
</code> | </code> | ||
- | ==== Описание ==== | ||
- | **module.<name>** - название модуля (см. [[[[doc:jroboplc:notes:how_to_name_modules]]) | + | |**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]] не могут ссылаться на один и тот же порт. |