Keresés

Új hozzászólás Aktív témák

  • Janos250

    őstag

    válasz Aryes #22257 üzenetére

    A problémám a beírt WEBsocket dataframe-nél volt, mert nem tudtam elérni valamelyik bitet, mert a unionnak csak az elejére tettem nevet, a végére nem. Viszont megpróbáltam a problémát egy egyszerűbb példára leegyszerűsíteni, mert ha a teljeset írom be, szerintem sokan csak vakarták volna a fejüket, hogy mi a fenét is akarok. Annak a példának a gyakorlatban semmi más értelme, mint hogy megkérdeztem, hogy hasonló esetben hogyan kell csinálni.
    Azóta már próbáltam a netről tanulni. Ami nevet a union elejére írunk, az típus. Mint például az, hogy "int". Azt csak ugyanarra, vagyis új létrehozására használjuk, mint pl. az int-et.
    Viszont a végére írt, az a terület neve.
    Példával élve:
    int pelda ;
    Ebben az int-nek "felel meg" a union elejére írt név, a "pelda"-nak meg a union végére írt.
    Mivel a példában csak a legkívül álló egységgel hozunk létre, foglalunk le területet, csak ott SZÜKSÉGES a típus név. Ott előre is kell írni. A belsőkben már nem kell, mert azok már a terület egy részét mutatják, az már "változó név", azt a végére kell írni.
    "Ugyanazt az egy byte-ot 3 különböző néven elérni?"
    Ha másként daraboljuk, például bitekre, akkor van értelme.
    A példával (a hosszabbal) élve:
    Először beolvasom a 6 byte-ot, mert az a protokoll fejléce, annyi mindenképp jön. Utána az egyes részeket vizsgálom, akár bitenként, mert például a FIN bit azt jelenti, hogy nincs több csomag, ez az utolsó, ha az opcode = 1, akkor egy egyszerű adatcsomag következik, ha meg nyolc, az a close, akkor agyon kell csapni a klienst. (néhány házaló klienssel is szívesen megtenném :) )

Új hozzászólás Aktív témák

Hirdetés