Цитата: TiRaN ➤ А что ЛВС? Ну допустим сеть сдохла. Но связь с весами есть. То есть весы-комп работает. Неужели так избирательно отключаются одноовременно 2 кассы?
Весы работают с сервером по его открытому сокету.
Объясняю принцип обмена данными между сервером и кассой.
0. Касса загрузилась и посылает в сеть UDP-пакет. Сервер, приняв его, открывает сокет и устанавливает связь с сокетом терминала;
1. на сервере появилась нова инфа для касс: сервер пинает кассы, подключённые к нему. Кассы, получившие пинок, начинают лезть в mysql сервера и отбирать данные, которых ещё нет на кассе. Кассы, выходящие из офф-лайна (либо загрузившиеся) также лезут на сервер в БД и смотрят, что нового есть для них.
2. Касса, пробив чек, пинает сервер, сервер лезет в БД кассы и смотрит, что там есть нового и качает это в свою БД. Если касса выходит в on-lайн, сервер в любом случае лезет в её БД.
Таким образом видим, что между кассой и сервером организовываются четыре независимых TCP-соединения (сервер->касса, касса->сервер, БД кассы -> БД сервера, БД сервера -> БД кассы), аналогично организована связь СГО с СМ.
ИТОГ: ЛВС следует настраивать с учётом этого всего. Т.е. кассы должны свободно пинговаться с сервера, а сервер - с касс (аналогично должны быть открыты порты УКМ и MySQL на VPN-маршрутизаторе). Если кассы находятся при этом в другой (по сравнению с сервером) подсети - то в ukmstart.sh в строках запуска ./cashmain добавить ключ -s<IPсервера>
Если надо зафиксировать на сервере порт соединения с терминалами, то в строке запуска службы сервера ([HKLM\SYSTEM\CurrentControlSet\Services\UkmService]\Image Path) добавить ключ --tcp-port=<порт>
Ну и ещё можно доступ с сервера к порту 80 на кассах открыть - чтобы кассовый WEB был доступен.
Вот и всё...