Gå til indhold

Streaming-forbindelser

Disse handlinger kommer i familier på to eller tre: forbind, send, luk. Forbindelsen bliver holdt åben mellem boksene, så du kan flette andre kald ind midt i.

En forbindelseshandling har to udgange:

UdgangUdsendelse
connectedEt signal, én gang, når forbindelsen bliver oprettet
messageÉn udsendelse per modtaget besked

Den bærer et forbindelsesnavn (connectionName). Send- og luk-handlingerne udpeger derefter denne forbindelse via dens boks-id (connectionNodeId).

Det klassiske mønster:

MQTT connect ──connected──► HTTP-anmodning (udløs forretningshandlingen)
└───────message─────► Assert (den forventede besked er ankommet)
derefter ──► Luk MQTT-forbindelse
HandlingIndgangeUdgange
WebSocket-forbindelse—connected, message (enhver modtaget frame)
WebSocket sendpayload—
Luk WebSocket-forbindelse——
Luk WebSocket-server——

Se WebSocket.

HandlingIndgangeUdgange
Socket.IO-forbindelse—connected, én event:<name>-port per angivet hændelse, og others
Socket.IO sendchannel, payload—
Luk Socket.IO-forbindelse——
Luk Socket.IO-server——

Det er den eneste forbindelseshandling, hvis udgange kan konfigureres: angiv listen over de hændelser, du er interesseret i, og hver af dem får sin egen port. Enhver hændelse, der ikke er angivet, kommer ind på others.

Se Socket.IO.

HandlingIndgangeUdgange
MQTT connect—connected, message
MQTT publishpayload—
Luk MQTT-forbindelse——

Forbindelsen abonnerer på anmodningens emne; afsendelsen udgiver med den konfigurerede QoS og retain-indstilling. Se MQTT.

HandlingIndgangeUdgange
SSE-forbindelse—connected, message
Luk SSE-forbindelse——

Kun modtagelse: der er ingen send-handling. Se SSE.

HandlingIndgangeUdgange
STOMP-forbindelse—connected, message
STOMP-afsendelsepayload—
Luk STOMP-forbindelse——

Forbindelsen sender CONNECT og derefter et SUBSCRIBE per konfigureret abonnement; afsendelsen giver en SEND-frame; lukningen et DISCONNECT. Se STOMP.

HandlingIndgangeUdgange
AMQP-forbindelse—connected, message
AMQP-udgivelsepayload—
Luk AMQP-forbindelse——

Forbindelsen forbruger anmodningens kø (tilstanden subscribe); udgivelsen bruger dens exchange og routing key. Se AMQP.

HandlingIndgangeUdgange
Redis subscribe—connected, message
Luk Redis-forbindelse——

Til en enkeltstående kommando er det Redis command, som er en anmodning/svar-handling — se Anmodninger.

HandlingIndgangeUdgange
Kafka consume—connected, message
Luk Kafka-forbindelse——

Forbruget abonnerer via anmodningens forbrugergruppe. Til at producere er det Kafka produce, en enkeltstående handling. Se Kafka.

HandlingIndgangeUdgange
gRPC connect—connected, message
gRPC sendpayload—
Luk gRPC-forbindelse——

Til tilstandene server-stream, client-stream og bidirectional-stream: afsendelsen giver kun mening for de to sidste, og lukningen udfører halvlukningen på klientsiden. Et unary-kald foretager du med HTTP-anmodning. Se gRPC.

HandlingIndgangeUdgange
GraphQL-abonnement—connected, message
Opsig GraphQL-abonnement——

Se GraphQL.