|
UniSet
2.0.0
|
#include <ModbusTCPServer.h>
Классы | |
| struct | SessionInfo |
Открытые типы | |
| typedef std::list< SessionInfo > | Sessions |
Открытые члены | |
| ModbusTCPServer (ost::InetAddress &ia, int port=502) | |
| virtual ModbusRTU::mbErrCode | receive (ModbusRTU::ModbusAddr mbaddr, timeout_t msecTimeout) override |
| virtual bool | waitQuery (ModbusRTU::ModbusAddr mbaddr, timeout_t msec=UniSetTimer::WaitUpTime) |
| void | setMaxSessions (unsigned int num) |
| unsigned int | getMaxSessions () |
| void | setSessionTimeout (timeout_t msec) |
| timeout_t | getSessionTimeout () |
| unsigned | getCountSessions () |
| void | setIgnoreAddrMode (bool st) |
| bool | getIgnoreAddrMode () |
| void | cleanInputStream () |
| virtual void | cleanupChannel () override |
| virtual void | terminate () override |
| void | getSessions (Sessions &lst) |
Защищенные типы | |
|
typedef std::list < ModbusTCPSession * > | SessionList |
Защищенные члены | |
| virtual ModbusRTU::mbErrCode | pre_send_request (ModbusRTU::ModbusMessage &request) override |
| virtual ModbusRTU::mbErrCode | post_send_request (ModbusRTU::ModbusMessage &request) override |
| virtual int | getNextData (unsigned char *buf, int len) override |
| virtual void | setChannelTimeout (timeout_t msec) override |
| virtual ModbusRTU::mbErrCode | sendData (unsigned char *buf, int len) override |
| virtual ModbusRTU::mbErrCode | tcp_processing (ost::TCPStream &tcp, ModbusTCP::MBAPHeader &mhead) |
| void | sessionFinished (ModbusTCPSession *s) |
Защищенные данные | |
| ost::tpport_t | port |
| ost::TCPStream | tcp |
| ost::InetAddress | iaddr |
| std::queue< unsigned char > | qrecv |
| ModbusTCP::MBAPHeader | curQueryHeader |
| UniSetTypes::uniset_mutex | sMutex |
| SessionList | slist |
| bool | ignoreAddr |
| unsigned int | maxSessions |
| unsigned int | sessCount |
| timeout_t | sessTimeout |
ModbusTCP server
| unsigned ModbusTCPServer::getCountSessions | ( | ) |
текущее количество подключений
| int ModbusTCPServer::getNextData | ( | unsigned char * | buf, |
| int | len | ||
| ) | [override, protected, virtual] |
get next data block from channel ot recv buffer
| begin | - get from position |
| buf | - buffer for data |
| len | - size of buf |
Замещает ModbusServer.
| mbErrCode ModbusTCPServer::receive | ( | ModbusRTU::ModbusAddr | mbaddr, |
| timeout_t | msecTimeout | ||
| ) | [override, virtual] |
Однопоточная обработка (каждый запрос последовательно), с разрывом соединения в конце
Замещает ModbusServer.
Перекрестные ссылки ModbusServer::aftersend_msec, ModbusRTU::ModbusHeader::func, msleep(), ModbusServer::recv(), PassiveTimer::reset(), ModbusServer::send(), PassiveTimer::setTiming(), ModbusRTU::ErrorRetMessage::transport_msg() и UniSetTimer::WaitUpTime.
| void ModbusTCPServer::setChannelTimeout | ( | timeout_t | msec | ) | [override, protected, virtual] |
set timeout for receive data
Замещает ModbusServer.
| void ModbusTCPServer::setSessionTimeout | ( | timeout_t | msec | ) |
установить timeout для поддержания соединения с "клиентом" (Default: 10 сек)
| bool ModbusTCPServer::waitQuery | ( | ModbusRTU::ModbusAddr | mbaddr, |
| timeout_t | msec = UniSetTimer::WaitUpTime |
||
| ) | [virtual] |
Многопоточная обработка (создаётся по потоку для каждого "клиента") \ return TRUE - если запр*ос пришёл
Перекрестные ссылки ModbusServer::aftersend_msec, ModbusServerSlot::connectDiagnostics(), ModbusServerSlot::connectFileTransfer(), ModbusServerSlot::connectForceCoils(), ModbusServerSlot::connectForceSingleCoil(), ModbusServerSlot::connectJournalCommand(), ModbusServerSlot::connectMEIRDI(), ModbusServerSlot::connectReadCoil(), ModbusServerSlot::connectReadInput(), ModbusServerSlot::connectReadInputStatus(), ModbusServerSlot::connectReadOutput(), ModbusServerSlot::connectRemoteService(), ModbusServerSlot::connectSetDateTime(), ModbusServerSlot::connectWriteOutput(), ModbusServerSlot::connectWriteSingleOutput(), DebugStream::debugging(), ModbusServer::diagnostics(), ModbusServer::fileTransfer(), ModbusServer::forceMultipleCoils(), ModbusServer::forceSingleCoil(), ModbusServer::journalCommand(), ModbusServer::read4314(), ModbusServer::readCoilStatus(), ModbusServer::readInputRegisters(), ModbusServer::readInputStatus(), ModbusServer::readOutputRegisters(), ModbusServer::recvTimeOut_ms, ModbusServer::remoteService(), ModbusServer::replyTimeout_ms, ModbusServer::setAfterSendPause(), ModbusServer::setDateTime(), ModbusServer::setRecvTimeout(), ModbusServer::setReplyTimeout(), ModbusServer::setSleepPause(), ModbusServer::sleepPause_usec, UniSetTimer::WaitUpTime, ModbusServer::writeOutputRegisters() и ModbusServer::writeOutputSingleRegister().
1.7.6.1