|
TCP постоянный опрос множества устройств
|
|||
---|---|---|---|
#18+
Полный нуб в вопросах TCP, нужна ваша помощь. На данный момент есть прога, которая опрашивает некоторые устройства по COM-порту (протокол MODBUS-RTU). Появилась необходимость добавить возможность опроса устройств с Ethernet-портом (протокол MODBUS-Tcp). Общение идет в формате запрос-ответ (короткие посылки по 10-15 байт) с частотой 15-20 опросов в секунду. У-в может быть множество. В прогу планирую добавить класс EthernetPort для реализации общения по Ethernet, который бы оперировал запросами к каждому у-ву. Подскажите, есть ли какой-то класс, который бы избавил меня от необходимости держать сокеты на каждое у-во, а позволил бы сделать по TCP что-то типа: WriteTo(ipaddress,port,message); ReadFrom(ipaddress,port,ref response); при этом без долгих коннектов/реконнектов каждый раз, когда нужно выполнить обмен? Т.е. наверное чтобы в этом классе был пул сокетов или типа того. Что в этом случае подойдет лучше всего? Куда смотреть? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 13:58 |
|
TCP постоянный опрос множества устройств
|
|||
---|---|---|---|
#18+
Насколько ресурсозатратна операция открытия/закрытия сокета? Правильно ли будет открывать/закрывать сокет всякий раз, когда мне нужно что-то считать с устройства с ip-адресом (в контексте того, что запросы происходят несколько раз в секунду)? Или все-таки нужно для каждого устройства держать свой сокет постоянно? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 16:42 |
|
|
start [/forum/topic.php?fid=20&fpage=165&tid=1404726]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 331ms |
total: | 470ms |
0 / 0 |