Mikä on SockJS?

SockJS on avoimen lähdekoodin JavaScript-kirjasto, joka tarjoaa WebSocket-kaltaisen API:n ja siirtyy läpinäkyvästi vaihtoehtoisiin siirtotapoihin, kun WebSocket ei ole saatavilla. Se suunniteltiin ympäristöille, joissa WebSocket-yhteydet ovat estetyt — esimerkiksi yrityksen palomuurien, vanhempien selaimien tai kuormantasaajien toimesta, jotka eivät tue yhteysparantamista. SockJS neuvottelee automaattisesti parhaan saatavilla olevan siirtotavan, valiten WebSocketin, HTTP-suoratoiston, HTTP-pitkäkyselyn ja useiden muiden mekanismien joukosta.

SockJS vaatii yhteensopivan palvelinpuolen kirjaston (kuten SockJS-Node tai Springin SockJS-tuen) ja käyttää omaa aliprotokollaa, joten se ei voi muodostaa yhteyttä tavalliseen WebSocket-päätteeseen.

Työkalun kuvaus

Tämä työkalu tarjoaa selainkäyttöisen SockJS-asiakkaan. Syötä SockJS-palvelimen päätepisteen URL-osoite, muodosta yhteys, kirjoita tekstiviestejä ja tarkkaile kaikkea liikennettä aikaleimalla varustetusta viestilokeista. Aktiivisen siirtotavan nimi (esim. websocket, xhr-streaming, xhr-polling) näytetään reaaliajassa, jotta näet, minkä varamekanismin kirjasto valitsi.

Ominaisuudet

  • Automaattinen siirtotapaneuvottelu — muodostaa yhteyden parhaalla saatavilla olevalla siirtotavalla ja näyttää, mikä valittiin.
  • Reaaliaikainen viestilokin — kaikki saapuvat viestit ja yhteystapahtumat tallennetaan aikaleimalla helppoa tarkastusta varten.
  • Teksti- ja JSON-tilat — kirjoita hyötykuormat pelkkänä tekstinä tai strukturoituna JSON-muodossa syntaksin korostuksella ja validoinnilla.

Vaihtoehdot selitetty

Palvelimen URL — SockJS-päätepisteen HTTP(S) URL-osoite (esim. https://example.com/sockjs). Älä lisää /websocket-päätettä tai muuta siirtotapasufikssia; SockJS käsittelee polkuneuvottelun sisäisesti.

Siirtotapa — näytetään tulosalueella yhteyden avaamisen jälkeen. Yleiset arvot sisältävät websocket (suora päivitys onnistui), xhr-streaming (suoratoisto XHR:n yli) ja xhr-polling (perinteinen pitkäkysely). Tämä kenttä pysyy tyhjänä, kunnes yhteys on muodostettu.

Tietotyyppi — vaihda Teksti- ja JSON-koostumistapojen välillä. JSON-tila validoi hyötykuorman ennen lähettämistä.

Automaattinen vieritys — pitää viestilokin kiinnitettyä uusimpaan merkintään.

Kuinka se toimii

Asiakas käyttää SockJS JavaScript-kirjastoa avatakseen yhteyden kohdepalvelimeen. SockJS suorittaa tietopyyntöä palvelimelle selvittääkseen, mitkä siirtotavat ovat tuettuja, ja neuvottelee sitten parhaan vaihtoehdon. Kun yhteys on muodostettu, työkalu välittää kaikki lähtevät viestit SockJS:n send-menetelmän kautta ja kirjaa jokaisen palvelimen palauttaman onmessage-tapahtuman.

Vinkkejä

  • SockJS-palvelimet tarjoavat tyypillisesti päätepisteensä polulla, kuten /sockjs tai /ws. Tarkista palvelimen dokumentaatiosta oikea perus-URL-osoite.
  • Jos siirtotapa näyttää xhr-polling-arvon websocket-arvon sijaan, palvelin tai välityspalvelin saattaa estää WebSocket-päivitykset.
  • SockJS ei ole yhteensopiva tavallisten WebSocket-päätepisteiden kanssa. Käytä WebSocket-testiasiakasta vakio-WebSocket-palvelimille.