WebSockets as a Service
Den managed realtime-platform bag foony.coms chat og live data, åben for alle udviklere på foony.io.
En WebSocket-tjeneste holder en vedvarende forbindelse åben mellem dine servere og hver forbundet klient, så opdateringer ankommer i samme øjeblik, de sker, i stedet for ved næste sideopdatering. Foony Realtime klarer de kedelige dele for dig: forbindelser, genforbindelser, fan-out, presence og beskedhistorik, alt sammen bag ét lille SDK.
Prøv det live
Alt nedenfor kører mod produktionstjenesten på realtime.foony.io lige nu. Åbn denne side i en ekstra fane og se de to spejle hinanden.
Presence og live-markører
Alle, der læser denne side, dukker op her, direkte fra kanalens presence. Markørpositioner rejser som flygtige beskeder, det lav-latens-lag, der helt springer lagring over.
Live-chat
Dette er den rigtige chat for denne side, det samme @foony/chat-rum, som hver Foony-side og hvert spillerum kører på. Beskeder ankommer over én kanal med historik, og afsendelser går gennem Foonys server, så hver besked bliver modereret.
Ingen har sagt noget for nylig. Bryd isen.
Database Sync
Det her er foony.coms produktionspipeline: skriv et hvilket som helst Foony-brugernavn, og deres offentlige Postgres-række streames ind over sidens WebSocket og opdateres derefter live, mens de spiller. Ingen polling, ingen API-endpoint.
Slår op…
Hvorfor teams køber WebSockets i stedet for at bygge dem
- Genforbindelser der ikke mister beskeder. Browsere mister forbindelser hele tiden. Klienter genoptager, hvor de slap, med afspilning af historik, så en ustabil forbindelse ikke betyder tabte beskeder.
- Fan-out i stor skala. At levere én besked til hundredtusind abonnenter på under et sekund er et svært problem inden for distribuerede systemer. Her er det hele opgaven.
- Tilstedeværelse uden bogholderi. Se hvem der er online lige nu, og reagér på enter-, update- og leave-events uden at skrive din egen heartbeat- og timeout-logik.
- Ingen kapacitetsplanlægning. WebSocket-servere har tilstand, så at skalere dem selv betyder draining, sharding og sticky routing. En managed service gør det til en andens problem.
Hvad du får med Foony Realtime
Kanaler og pub/sub
Send navngivne events ud over WebSocket eller REST til app-afgrænsede kanaler (fx chat:lobby) med forudsigelig leveringssemantik.
Tilstedeværelse
Hold styr på hvem der er online, opdatér medlemskab automatisk, og reagér på enter-, update- og leave-events.
Beskedhistorik
Afspil nylige beskeder fra holdbar lagring, så klienter kommer pænt ovenpå efter genforbindelser.
Token-godkendelse
Udsted kortlivede klient-tokens fra din backend med tilladelser på kanalniveau til publish, subscribe, presence og history.
Pusher-kompatibel
Taler Pusher-protokollen, så pusher-js- og Laravel Echo-apps kan forbinde med en konfigurationsændring i stedet for en omskrivning.
Database Sync
Stream Postgres-ændringer direkte til abonnerende klienter som live-forespørgsler, ingen polling og ingen limkode.
Hele integrationen er et par linjer:
const realtime = new Realtime({ authCallback });
const channel = realtime.channels.get('chat:lobby');
channel.on((message) => {
showMessage(message.data);
});
await channel.publish('message', { text: 'hello' });
await channel.presence.enter({ name: 'Acorn' });Kamptestet på rigtige spil
Foony bruger Foony Realtime i stor stil til vores chat og realtidsopdateringer af databasen. Omkring 1,5 millioner spillere om måneden stoler på foony.io til cirka 500 millioner beskeder, og et multiplayer-spil føles kun rigtigt, når de ankommer hurtigt, i rækkefølge og præcis én gang. Foony ville ikke være muligt uden pålideligheden og de lave omkostninger ved foony.io.
Se det i aktion i et af vores spil, og få så den samme infrastruktur med et dashboard og et SDK på foony.io.

Prøv det på din egen trafik
Gratis-niveauet inkluderer 9 millioner beskeder om måneden. Intet kreditkort påkrævet.
Ofte stillede spørgsmål
Hvad er WebSockets as a service?
En administreret platform, der ejer de vedvarende forbindelser mellem din app og dens brugere. I stedet for at køre dine egne WebSocket-servere forbinder dine klienter til tjenesten, din backend udgiver beskeder til kanaler via et SDK eller REST, og tjenesten håndterer levering, genforbindelser, tilstedeværelse og historik.
Hvordan adskiller Foony Realtime sig fra Pusher eller Ably?
Den dækker den samme kerne af kanaler, tilstedeværelse, historik og token-godkendelse, og den taler Pusher-protokollen, så den fungerer som et drop-in-alternativ til Pusher. Forskellen er oprindelse og pris. Den blev bygget til foony.com, vores eget multiplayer-spilsite, og gratis-niveauet inkluderer 9 millioner beskeder om måneden.
Skal jeg omskrive min app for at skifte?
Som regel ikke. pusher-js- og Laravel Echo-apps kan pege på Foony Realtime med en ændring i konfigurationen. Nye projekter bruger @foony/realtime SDK til JavaScript og TypeScript, Go SDK eller REST API fra ethvert sprog.
Hvad koster det?
Gratis-niveauet inkluderer 9 millioner beskeder om måneden. Betalte planer tilføjer månedlig kapacitet, og forbrug ud over din plan faktureres pr. million beskeder. Aktuelle tal finder du på foony.io/pricing.