Hva er SockJS?

SockJS er et åpen kildekode JavaScript-bibliotek som tilbyr et WebSocket-lignende API mens det transparente faller tilbake til alternative transporter når WebSocket ikke er tilgjengelig. Det ble designet for miljøer der WebSocket-tilkoblinger er blokkert — for eksempel av bedriftsfirewalls, eldre nettlesere eller lastbalanserere som ikke støtter tilkoblingoppgraderinger. SockJS forhandler automatisk om den beste tilgjengelige transporten, og velger fra WebSocket, HTTP-streaming, HTTP long-polling og flere andre mekanismer.

SockJS krever et kompatibelt bibliotek på serversiden (som SockJS-Node eller Springs SockJS-støtte) og bruker sitt eget delprotokoll, så det kan ikke koble til et vanlig WebSocket-endepunkt.

Verktøybeskrivelse

Dette verktøyet tilbyr en nettleserbasert SockJS-klient. Skriv inn URL-en til et SockJS-serverendepunkt, koble til, skriv tekstmeldinger og observer all trafikk i en tidsstemplet meldingslogg. Det aktive transportnavnet (f.eks. websocket, xhr-streaming, xhr-polling) vises i sanntid slik at du kan se hvilken reservemekanisme biblioteket valgte.

Funksjoner

  • Automatisk transportforhandling — kobler til med den beste tilgjengelige transporten og viser hvilken som ble valgt.
  • Live meldingslogg — alle innkommende meldinger og tilkoblingshendelser blir fanget opp med tidsstempler for enkel inspeksjon.
  • Tekst- og JSON-modus — skriv nyttelaster som ren tekst eller strukturert JSON med syntaksmarkering og validering.

Alternativer forklart

Server-URL — HTTP(S)-URL-en til SockJS-endepunktet (f.eks. https://example.com/sockjs). Ikke legg til /websocket eller noen transportsuffiks; SockJS håndterer baneforhandling internt.

Transport — vises i utdataområdet etter at tilkoblingen åpnes. Vanlige verdier inkluderer websocket (direkte oppgradering lyktes), xhr-streaming (streaming over XHR) og xhr-polling (tradisjonell long-poll). Dette feltet forblir tomt til tilkoblingen er etablert.

Datatype — bytt mellom Tekst og JSON komposisjonsmodus. JSON-modus validerer nyttelastene før sending.

Auto-scroll — holder meldingsloggen festet til den nyeste oppføringen.

Hvordan det fungerer

Klienten bruker SockJS JavaScript-biblioteket til å åpne en tilkobling til målserveren. SockJS utfører en informasjonsforespørsel til serveren for å oppdage hvilke transporter som støttes, og forhandler deretter om det beste alternativet. Når den er tilkoblet, relayerer verktøyet alle utgående meldinger gjennom SockJS send-metoden og logger hver onmessage-hendelse som returneres av serveren.

Tips

  • SockJS-servere eksponerer vanligvis sitt endepunkt på en bane som /sockjs eller /ws. Sjekk serverdokumentasjonen for riktig basis-URL.
  • Hvis transporten viser xhr-polling i stedet for websocket, kan serveren eller proxyen blokkere WebSocket-oppgraderinger.
  • SockJS er ikke kompatibel med vanlige WebSocket-endepunkter. Bruk WebSocket Test Client for standard WebSocket-servere.