Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wysyłanie pliku na port UDP - prosty program - szukam pomocy.

rsikon 15 Lut 2013 20:13 1293 4
  • #1 15 Lut 2013 20:13
    rsikon
    Poziom 26  

    Witam,
    jestem całkowicie zielony w programowaniu aplikacji na PC. Zajmuje się programami dla mikrokontrolerów. Do projektu potrzebuję testowego programiku:
    - ma on na adres IP w sieci lokalnej, na dany numer portu UDP, wysłać plik.

    Mógłby ktoś pomóc w stworzeniu takiego programiku - lub może nakierować czym się już gotowym posłużyć?

    Kontakt gg:15179

    Radek

    0 4
  • #2 15 Lut 2013 21:08
    krru
    Poziom 32  

    nc (netcat) - pod linuxem.
    Tak naprawdę to za mało informacji podałeś, jak trzeba wysłać ten plik. Może chodzi ci o tftp?

    0
  • #3 15 Lut 2013 21:14
    rsikon
    Poziom 26  

    Co do wysyłania pliku - to ja mogę się dostosować. Dlatego też nie podawałem wymogów.
    Może to być proste wysyłanie bajt po bajcie...

    TFTP - wydaje mi się, że to mogło by być pomocne, jednak jakoś w sieci nie mogę znaleźć szczegółów odnośnie transmisji. Jak powinna wyglądać prawidłowa komunikacja...

    Radek

    0
  • #4 15 Lut 2013 21:53
    Pawel2420
    Poziom 30  

    Problem jest nieco źle sformułowany. Protokół UDP jest bezpołączeniowy. Określenie "przesłanie pliku przez UDP" nie bardzo ma sens. Pakietem UDP można wysłać porcję danych (do około 1 kB). Nadawca wysyła taki pakiet i zapomina o nim. Może on dotrzeć do odbiorcy ale może również zaginąć po drodze. Wysłanie pliku wymaga więc podzielnia go na kawałki, zrealizowania potwierdzeń i powtarzania zagubionych pakietów. To wszytko wykracza poza to co określa się protokołem UDP.

    0
  • #5 15 Lut 2013 21:59
    rsikon
    Poziom 26  

    Owszem dobrze kolega twierdzi...

    Ale mi do szczęścia na już... wystarczy wysłać z PC paczki danych będące kolejnymi fragmentami pliku.
    Czyli uruchamiamy programik... wybieramy plik ala.test... podajemy IP docelowe i port - zatwierdzamy.
    Program sam dzieli plik na odpowiednio długie "paczki" (bajty czy tam inne porcje) i wysyła je kolejno
    Program nic nie ma sprawdzać czy odebrano, nie zgubiono itd.

    To ma byc ślepe wysłanie podzielonego pliku na "paczki".'

    Ewentualnie dodatkowo możemy wprowadzić jakąś opcje wstawienia "pauzy" - definiujemy odstęp czasowy pomiędzy kolejnymi paczkami.


    A tak w ogóle to jak brzmi polecenie dla netcat aby wyslac plik test.txt na IP 10.0.0.100 i port 1200



    Radek

    0