[elektro] UDP bejövő csomag észlelés
Skandar Graun
sgraun at gmail.com
Mon Aug 24 15:34:30 CEST 2015
Köszönöm.
A cucc egy online beléptető rendszer lesz, ahol a szerveroldali
programozást már megcsinálták más eszközre, ezért azt a protokollt nem
akarják újraírni.
A fő probléma inkább az én tudatlanságomból fakad, amiből most jócskán
faragtatok lefelé.
Nem akarom feltalálni a melegvizet újra, szerintem én keveredtem el a
socket, port, szál, témakörökben.
De, windows és novell... hogy érdekes legyen. Viszont a szerver valóban a
hálózati kiszolgáló szerver, nem egy sima asztali gép.
Úgy érzem, kezdem megérteni a kapott protokoll lényegét... a srác jó
programozó, jó haver, de szerintem annyira nem jó tanár. :D
Ráadásul, hogy még szebb legyen, mivel eddig RS485-öt használtunk a saját
szétszórt cuccainkra, de a jelenlegi aliexpresszes cuccok olcsóbbak lassan,
mint a meghajtó IC-k, ezért irányba vettem az arduino-enc28J60 vonalat.
Arra pedig a PC-s alkalmazást a fiam kezdte el írni, aki szintén kezdő
hálózatokban (nem tagadom, némi tanulás iránti motiváció is benne volt a
feladatban)
Oda viszont nem lesz kötelező a kapott protokollt használni, bár idő
szempontjából célszerű lehet. De most a tőletek kapott infók alapján kezd
bennem is kialakulni a követendő irány... maradok ortodoxiában.
Valamint köszönöm.
2015. augusztus 24. 14:38 Kiss Gabor írta, <kissg at ssg.ki.iif.hu>:
> > absztakciós szintje, vagy mondhatnám azt is, hogy egy API-t valósít meg.
> > Így socket nélkül nem tudsz hozzáférni a hálózathoz.tehát nincs olyan,
> hogy
> > valahogy az oprendszert megkerülve belebűvölsz a még fel sem dolgozott
> > csomagokba. (Persze dolgozhatsz etherent vagy IP szinten is, de kétlem,
> > hogy ezt akarod).
>
> Pontosabban lehetne egy raw socketen elkapni[*] az összes bejövő
> csomagot, de már késő lenne szólni a szerver processznek,
> hogy akkor gyorsan szálljon rá (bind) a 35611-es portra, és ott
> majd jön neki a forgalom.
> Az első csomag mindenképp elveszne.
> Azért mondom, a megfogalmazás szerint minden bevált/kidolgozott sémát
> fel kellene rúgni, és momentán arra tippelek, hogy a semmiért.
> Mit sem nyerünk rajta.
>
> * Ugye nem windows-ról beszélünk? :-)
>
> > A másik, fontosabb dolog a protokoll választása. Az UDP egy kapcsolat
> > mentes protokoll, nagy vonalakban a fogadó fél nyit egy socketet, azon
> > fülel és bárki küld arra a portra egy UDP csomagot, azt meg fogja kapni.
> > Ennyi. Nem tudom mi a feladat, mérési adataoknak kell bejönni, vagy
> > hasonló, de a leírásodból úgy tűnik, hogy több kliens akar valamiféle
> > kapcsolatot létesíteni a szervereddel, ahol külön külön folyamatok fogják
> > kezelni a kliensek által küldött anyagot. De probléma, hogy egy adott
> > portra érkező UDP csomagokat hogyan tudod szétválogatni.
> > Szerintem ide a TCP sokkal jobb választás, mivel az az összes fenti
> > problémát megoldja.
>
> Az UDP-nek van persze előnye is. Pl. könnyebb implementálni az UDP/IP
> stacket egy mikrokontrolleren.
> Csak hát csodák nincsenek, valahol mégis meg kell valósítani mindazt a
> funkcionalitást, amit a TCP is kínál. Kivéve ha a csomagok eltűnése,
> duplikálódása, megrongálódása, sorrendbeli cseréje nem probléma. :-)
>
> g
> --
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?
> A: Top-posting.
> Q: What is the most annoying thing in e-mail?
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list