[elektro] UDP bejövő csomag észlelés
Szucs 'Nemka' Laszlo
nemka at nemka.hu
Fri Aug 21 23:26:46 CEST 2015
Kevered a fogalmakat.
A broadcast egy olyan cim, ami minden hostot cimez.
Kapcsolatfelvételi port:
Egy olyan általad kiválasztott fix port, amit más nem használ. Erre nyitsz egy socketet, ami mindig nyitva van.
Kommunikációs port:
Egy olyan random port, amit a kapcsolatfelvétel után használsz a kommunikációhoz. Ezt csak addig tartod nyitva, amíg szükséges.
Másik verzió az, ha csak egyetlen porton kommunikálsz, de minden klienshez külön szálat indítasz és az egyes szálakon egy-egy adott címról és portról érkező csomagokat kezeled.
Ez utóbbi a gyakoribb.
A Hálózati alkalmazások készítése c. könyv mindegyikre tartalmaz példát.
Nemka
(mobilról küldve)
---- Skandar Graun írta ----
>Ez a kapcsolatfelvételi port a broadcast?
>Amit akár én is definiálhatok a rendszerben?
>
>2015. augusztus 21. 22:29 Szucs 'Nemka' Laszlo írta, <nemka at nemka.hu>:
>
>> Java ilyet nem tud, hiszen a socket megnyitásával lép kapcsolatba a Java
>> az oprendszer által biztosított TCP/IP stack-kel és jelzi felé, hogy az
>> adott portra érkező csomagokat hozzá kell továbbítani.
>> A nem nyitott portra érkező csomagokat a stack eldobja.
>>
>> Amit megtehetsz:
>> Használsz egy kapcsolatfelvételi portot. A kliens ide küld csomagot, ekkor
>> nyitsz egy új portot, a kapcsolatfelvételi portról meg üzensz a kliensnek,
>> hogy az újonnan nyitott porton kommunikáljon.
>>
>> Nemka
>> (mobilról küldve)
>>
>> ---- Skandar Graun írta ----
>>
>> >Sziasztok!
>> >
>> >A fiammal küzdünk a fenti problémával.
>> >Valószínű a tudásunk kevés, mert a problémára biztos van megoldás
>> >egyszerűen.
>> >
>> >Java, udp kommunikáció.
>> >Valahogy észlelni kellene, hogy bejött egy udp datagram egy portra... de
>> >jelenleg csak akkor tudnánk meg, hogy a portra bejött egy datagram, ha
>> >egyből be is olvassuk a socketbe.
>> >Mi erre a megoldás, hogyan lehet egy datagramot beazonosítani (portszámot
>> >meghatározni) socketbe tétel előtt, hogy megnyissuk neki a szükséges
>> >socketet (mindig csak annyi socket legyen nyitva, ahány kliens épp
>> >kommunikál és minden kliens statikus portra van konfigurálva)?
>> >
>> >Köszi előre is.
>> >-----------------------------------------
>> > elektro[-flame|-etc]
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
>-----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list