Keresés

Hirdetés

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

  • Janos250

    őstag

    válasz Dißnäëß #14902 üzenetére

    A websocket a fizikai és a http (vagy egyéb) között van. Persze ez elég nagyjábóli megközelítés. A neten a kommunikáció IP alapon történik, viszont például ugyanazon a gépen egyszerre több program is használhatja a netet, pl. több böngésző is lehet újra megnyitva.
    Ezért nem elég, hogy egy szerver csak a cél IP címét adja meg, meg kell hozzá adni még egy 2 bájtos egyedi azonosítót is, hogy a válasznál lehessen tudni, hogy melyik alkalmazásnak kell továbbítani az üzenetet. Ez a plusz 2 bájt a port. Amikor egy böngésző elküld egy kérést egy szervernek, akkor küld hozzá egy port számot is, amit a küldő gép határoz meg úgy, hogy olyat választ, amit ugyanazon a gépen másik alkalmazás éppen nem használ. Ezt az IP+port együttest, mint socketot kezeli egy egység. Tehát pl. ESP32-n: Ha WEB szervert használsz, az kapcsolatot tart egy alacsonyabb szinttel, ami olyan elérést ad, mintha pl. soros port lenne. Lehet rá írni, lehet róla olvasni. Ez a szint egy socketban adja tovább a kérést egy alacsonyabb szintnek. Ez a nem profi rendszereknél gyakran az lwIP szabad felhasználású egység. Ez aztán összerakja a továbbítandó csomagot (legalábbis egy részét), és beteszi egy memória részbe. Utána szól a hardvert legalacsonyabb szinten kezelő résznek, hogy ott van ebben a tárolóban egy csomag. Az fogja, átmásolja a hardver
    saját tároló területére, és utasítja a hardvert, hogy küldje el.
    Ebben a csomagban már benne van, hogy a választ melyik socket (IP+portot kezelő egység) részére kell visszaküldeni. A hardver még ehhez a saját MAC címét hozzáadva, egy adott MAC címre küldi, amit az ARP nevezetű rész határoz meg. Ezt úgy teszi, hogy egy mindenki számára szóló üzenetben kérdezi az összes, ugyanazon a madzagon lévő gépet, hogy ez az IP cím kié. Ha senkié, akkor a routernek küldi. A user által használt legalacsonyabb szint a socket szokott lenni, azaz megadott szisztéma szerint összekészítesz egy csomagot, és azt adod át neki. ESP32-n én nem használom, mert a serializált szint kezelése sokkal egyszerűbb, de gyakorlatilag ez socket szintű programozás, csak megúszom a csomag összekészítésének a melóját.

    [ Szerkesztve ]

    Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

  • Janos250

    őstag

    válasz Dißnäëß #14902 üzenetére

    Persze ez csak egy Móricka leírás, akik jobban értenek hozzá, hátha érthetőbben leírják.

    Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

  • Janos250

    őstag

    válasz Dißnäëß #14902 üzenetére

    Marhaságot írtam neked! :(((
    Te a websocketot kérdezted, én meg a socketot írtam le.
    A socket az valóban alacsony szintű, lehet használni, de elég macerás, szerintem nem nagyon érdemes erre az alacsony szintre lemenni.
    A websocket viszont egész más. A neten külön kihangsúlyozzák, hogy semmi köze a sockethoz.
    Ez egy protokoll, olyasmi, mint a http (http:// , ws://) a http fölött van, arra épül, erősen támaszkodik a javascriptre. Feladata, hogy aszinkron módon a kliens (pl. böngésző) amikor kedve szottyan, küldözgethessen adatot a szervernek, és viszont. Kidolgozott metódusai vannak a kapcsolódásra, küldésre, miegymásra, így kényelmesnek tűnik.
    Eddig én nem ismertem, csak most, hogy Tankblock által küldött mintát próbálom megérteni (próbálom :) ), és böngészem a netet, most látom, hogy mi ez.

    Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

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