Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 2 maja 2025, o 23:24


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
    Autor Wiadomość
    PostNapisane: 25 lip 2019, o 05:58 
    Offline
    Użytkownik

    Dołączył(a): 02 cze 2014
    Posty: 123
    Pomógł: 0

    Witam mam taki problem. Napisałem aplikacje w Delphi która jest serwerem UDP z użyciem komponentu paleta indy udpserwer. Serwer ma na początek odebrać tekst i odpowiedzieć jakimś potwierdzeniem do klienta.

    Klienta UDP oprogramowaniem na Androidzie z użyciem B4A.

    Wszystko działa pięknie ale w sieci lokalnej.Problem pojawia się gdy klient wysyła coś z sieci Internet czyli z zewnątrz przez ruter.
    Serwer odczytuje wysłane do niego dane ale nie odżyła potwierdzenia do klienta.
    Jak dotąd ustaliłem że coś jest nie tak z adresami IP. Po stronie serwera możemy przez peerip odczytać IP nadawcy.W sieci lokalnej jest ok IP nadawcy jest poprawne.Gdy wysyłam coś z sieci przez ruter serwer jako odres nadawcy powinien wskazać IP mojego rutera ale tak się nie dzieje IP jest różne niż mojego rutera. Stąd też serwer nie wie gdzie ma odesłać potwierdzenie.

    Nie wiem dlaczego w sieci WAN serwer pokazuje zły adres nadawcy i jak odesłać potwierdzenie klientowi.

    _________________
    http://mojekonstrukcje.pl/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 lip 2019, o 07:04 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27378
    Lokalizacja: Szczecin
    Pomógł: 1043

    TomekTomek55 napisał(a):
    ale nie odżyła potwierdzenia do klienta.

    chyba chodziło ci o to , że nie odsyła

    TomekTomek55 napisał(a):
    Nie wiem dlaczego w sieci WAN serwer pokazuje zły adres nadawcy i jak odesłać potwierdzenie klientowi.

    Nic źle nie działa - tylko ty nie zdajesz sobie na razie sprawy z tego jak działa UDP

    Po pierwsze mam nadzieję, że masz ustawiony odpowiednio router i masz odpowiednie przekierowania portów albo DMZ

    Po drugie serwer UDP może nadawać pakiety w dwóch trybach:

    1. w trybie KLIENTA - i zapewne to się u ciebie dzieje (a o tym nie wiesz) ... co oznacza, że serwer wysyła pakiet UDP i sam formuje od nowa swoją ramkę danych ze wskazaniem na adres IP i port klienta, a to spowoduje, że taki PAKIET nigdy nie dojdzie do tej twojej drugiej strony twojego prawdziwego klienta, który wysłał zapytanie do serwera i oczekuje odpowiedzi a jednocześnie twój klient jest za jakimś NAT'em/Firewalem. No bo serwer próbując wysłać "ala odpowiedź" w trybie klienta próbuje się przebić przez tego NAT'a i nie da rady, po to są Firewall'e

    2. w trybie SERVER RESPONSE - czego pewnie nie umiesz na razie odpalić, ale też ja ci nie podpowiem jak to zrobić na Indy bo hmmm sam nie pamiętam - tak dawno już temu zajmowałem się INDY. Ale na czym to polega? Otóż gdy serwer dostaje zapytanie od twojego klienta zza NAT'a - to odpowiada tą samą ramką zawierającą m.in MAC adres twojego klienta i ten sam port źródłowy, przy czym klient też musi mieć odpowiedni timeout żeby umieć odebrać taką odpowiedź typu RESPONSE

    TUTAJ: https://atnel.pl/mkudps.html masz taki komponent, który potrafi to zrobić a pobierając ten komponent masz też terminal UDP, którym możesz to przetestować ;) obejrzyj poradnik wideo który widać na tej stronie - no ale to nie ma z kolei nic wspólnego z INDY

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO