Witam
Nie wiem czy piszę w dobrym dziale ale męczę się już drugi tydzień z pakietami UDP.
Może od początku:
Mam dwa komputery. Jeden w Gdańsku , drugi w Gdyni (ale to mniej ważne)
Mam zamiar przesyłać z jednego komputera do drugiego pakiet UDP o treści <TEST>
Komputer który odbierze ten pakiet ma natychmiast odpowiedzieć na adres i port nadawcy <OK>.
Chodzi o to że tworzę u siebie w domu sterownik ogrzewania i chcę mieć do niego zdalny dostęp praktycznie z całego kraju. Chciałbym mieć możliwosć np. zdalnej regulacji temperatury itd.
Program w moim sterowniku mam napisany w C i działa bez zarzutu.
W tym momencie mój sterownik mam podłączony pod neostradę plus/router FUNBOX. W routerze mam przekierowane DMZ na IP mojego sterownika.
Kiedy wysyłam pakiet UDP o odpowiedniej treści w sieci LAN to mój sterownik pięknie odbiera pakiety(polecenia) i odsyła na adres i port nadawcy odpowiedź. Ale kiedy dane przychodzą z sieci internet to owszem mój moduł odbiera dane poprawnie i odsyła je na adres IP i port nadawcy lecz zdalny komputer który nadał polecenie go nie odbiera. Tak jakby router blokował nadawanie pakietu.
Dla testów użyłem na obu komputerach programu do testowania UDP (UDP TEST TOOL) .
Kiedy z sieci internet wyślę jakikolwiek tekst na adres mojego komputera w sieci LAN w której pracuje także mój sterownik ogrzewania to program poprawnie odbiera dane. Ale kiedy chcę wysłać coś do sieci INTERNET z tego komputera to na zdalny komputer nic nie przychodzi.
Tak więc wydaje mi się że problemem jest tu mój router.
Nie znam się jeszcze aż tak dobrze na tym dlatego pytam kolegów co robię nie tak i w którym miejscu.
Dodam że przekierowywałem porty w routerze ale nic to nie daje. W zasadzie jeśli ustwaiam w routerze DMZ to przekierowania portów nie powinny być potrzebne.
Nie chciałbym stosować połączenia TCP i za każdym razem zestawiać na nowo połączenie.
Ja chciałbym po prostu wysłać <TEST> z komputera(tabletu etc) do mojego sterownika i otrzymać odpowiedź.
Co powinienem zrobić , albo jak zabrać się za takie zagadnienie. Czy na prawdę poprzez UDP się nie da?
W tej chwili robię tak w programie UDP TEST TOOL:
Komputer u mnie w domu:
Komputer w Gdyni:
Jak widać kiedy wysyłam dane z gdyni to je poprawne odbieram ale kiedy próbuję coś z domu odesłać na ten komputer to nic nie dochodzi.
Czy w drugim komputerze(routerze) także muszę ustawić DMZ ? Jeśli tak to masakra. Przecież chcę mieć dostęp do mojego sterownika ogrzewania z całego kraju. A przecież nie będę konfigurować routerów wszędzie
Owszem w domu mogę wszystko ustawić / przekierować ale na zewnątrz to musi chodzić i tyle bez jakiegokolwiek przekierowywania itp.
Co mam zrobić i o jaki typ transmisji muszę oprzeć moje połączenie. Chodzi o maksymalnie proste . Nie chcę używać do tego celu przeglądarek WWW. Mam swoje aplikacje i to one mają załatwiać wszystko. A w chwili obecnej mogę sterować ogrzewaniem zdalnie ale nie mam potwierdzenia co się w nim dzieje.
Nie wiem czy piszę w dobrym dziale ale męczę się już drugi tydzień z pakietami UDP.
Może od początku:
Mam dwa komputery. Jeden w Gdańsku , drugi w Gdyni (ale to mniej ważne)
Mam zamiar przesyłać z jednego komputera do drugiego pakiet UDP o treści <TEST>
Komputer który odbierze ten pakiet ma natychmiast odpowiedzieć na adres i port nadawcy <OK>.
Chodzi o to że tworzę u siebie w domu sterownik ogrzewania i chcę mieć do niego zdalny dostęp praktycznie z całego kraju. Chciałbym mieć możliwosć np. zdalnej regulacji temperatury itd.
Program w moim sterowniku mam napisany w C i działa bez zarzutu.
W tym momencie mój sterownik mam podłączony pod neostradę plus/router FUNBOX. W routerze mam przekierowane DMZ na IP mojego sterownika.
Kiedy wysyłam pakiet UDP o odpowiedniej treści w sieci LAN to mój sterownik pięknie odbiera pakiety(polecenia) i odsyła na adres i port nadawcy odpowiedź. Ale kiedy dane przychodzą z sieci internet to owszem mój moduł odbiera dane poprawnie i odsyła je na adres IP i port nadawcy lecz zdalny komputer który nadał polecenie go nie odbiera. Tak jakby router blokował nadawanie pakietu.
Dla testów użyłem na obu komputerach programu do testowania UDP (UDP TEST TOOL) .
Kiedy z sieci internet wyślę jakikolwiek tekst na adres mojego komputera w sieci LAN w której pracuje także mój sterownik ogrzewania to program poprawnie odbiera dane. Ale kiedy chcę wysłać coś do sieci INTERNET z tego komputera to na zdalny komputer nic nie przychodzi.
Tak więc wydaje mi się że problemem jest tu mój router.
Nie znam się jeszcze aż tak dobrze na tym dlatego pytam kolegów co robię nie tak i w którym miejscu.
Dodam że przekierowywałem porty w routerze ale nic to nie daje. W zasadzie jeśli ustwaiam w routerze DMZ to przekierowania portów nie powinny być potrzebne.
Nie chciałbym stosować połączenia TCP i za każdym razem zestawiać na nowo połączenie.
Ja chciałbym po prostu wysłać <TEST> z komputera(tabletu etc) do mojego sterownika i otrzymać odpowiedź.
Co powinienem zrobić , albo jak zabrać się za takie zagadnienie. Czy na prawdę poprzez UDP się nie da?
W tej chwili robię tak w programie UDP TEST TOOL:
Komputer u mnie w domu:

Komputer w Gdyni:

Jak widać kiedy wysyłam dane z gdyni to je poprawne odbieram ale kiedy próbuję coś z domu odesłać na ten komputer to nic nie dochodzi.
Czy w drugim komputerze(routerze) także muszę ustawić DMZ ? Jeśli tak to masakra. Przecież chcę mieć dostęp do mojego sterownika ogrzewania z całego kraju. A przecież nie będę konfigurować routerów wszędzie

Owszem w domu mogę wszystko ustawić / przekierować ale na zewnątrz to musi chodzić i tyle bez jakiegokolwiek przekierowywania itp.
Co mam zrobić i o jaki typ transmisji muszę oprzeć moje połączenie. Chodzi o maksymalnie proste . Nie chcę używać do tego celu przeglądarek WWW. Mam swoje aplikacje i to one mają załatwiać wszystko. A w chwili obecnej mogę sterować ogrzewaniem zdalnie ale nie mam potwierdzenia co się w nim dzieje.