Есть GSM модем (SIM800) (клиент) и Windows ПК (сервер).
На роутере к которому подключен ПК настроен проброс порта (60100 TCP - 60100 TCP) на который стучится GSM модем.
Есть ПО которое работает по двум UDP портам на Windows ПК (60102 UDP на передачу и 60103 UDP на прием).
Вопрос заключается в том как связать порт 60100 TCP с двумя портами 60102 UDP и 60103 UDP?
Частично решил вопрос при помощи
socat для Windows.
Команда (TCP -> UDP1)
socat tcp4-listen:60100,reuseaddr,fork UDP:127.0.0.1:60103
на Windows ПК работает отлично - данные с GSM модема принимаются. Но не могу заставить работать передачу в обратную сторону на GSM модем.
Пробовал так: (TCP -> UDP1 и UDP2 -> TCP)
socat tcp4-listen:60100,reuseaddr,fork UDP:127.0.0.1:60103 | socat udp4-listen:60102,reuseaddr,fork tcp:localhost:60100
получается, что данные с модема принимаются, но я сам себе передаю данные которые нужно отправить модему.
socat tcp4-listen:60100,reuseaddr,fork UDP:127.0.0.1:60103 | socat udp4-listen:60102,reuseaddr,fork tcp:192.168.115:60100
не открывает соединение (192.168.115 - IP адрес ПК)
Пробовал также использовать
netcat но результата не достиг.
Принимать и отправлять данные по одному и тому же UDP порту ПО не умеет.