跳到內容

連線與串流

這些動作都是兩三個一組:連線傳送關閉。連線會在各個節點之間保持 開啟,所以中間還能夾進別的呼叫。

一個連線動作有兩個輸出:

輸出發出時機
connected一個訊號,在連線建立時發出一次
message每收到一則訊息就發出一次

它帶有一個連線名稱connectionName)。之後的傳送與關閉動作,就用節點識別碼 (connectionNodeId)指定這條連線。

典型的模式:

MQTT connect ──connected──► HTTP 請求(觸發業務動作)
└────────message─────► Assert(預期的訊息已送達)
然後 ──► 關閉 MQTT 連線
動作輸入輸出
WebSocket 連線connectedmessage(收到的任何訊框)
WebSocket sendpayload
關閉 WebSocket 連線
關閉 WebSocket 伺服器

請參閱 WebSocket

動作輸入輸出
Socket.IO 連線connected每個已宣告的事件一個 event:<name> 連接埠,以及 others
Socket.IO sendchannelpayload
關閉 Socket.IO 連線
關閉 Socket.IO 伺服器

這是唯一輸出可自行設定的連線動作:您宣告一份感興趣的事件清單,每個事件就各得 一個連接埠。凡是沒宣告的事件都會落在 others 上。

請參閱 Socket.IO

動作輸入輸出
MQTT connectconnectedmessage
MQTT publishpayload
關閉 MQTT 連線

連線會訂閱該請求的主題;傳送則會依設定的 QoS 與 Retain 選項發佈。請參閱 MQTT

動作輸入輸出
SSE 連線connectedmessage
關閉 SSE 連線

只收不送:沒有對應的傳送動作。請參閱 SSE

動作輸入輸出
STOMP 連線connectedmessage
STOMP 傳送payload
關閉 STOMP 連線

連線會先送出 CONNECT,再為每個已設定的訂閱各送一個 SUBSCRIBE;傳送會產生一個 SEND 訊框;關閉則送出 DISCONNECT。請參閱 STOMP

動作輸入輸出
AMQP 連線connectedmessage
AMQP 發布payload
關閉 AMQP 連線

連線會消費該請求的佇列(subscribe 模式);發布則使用它的 Exchange 與路由金鑰。 請參閱 AMQP

動作輸入輸出
Redis subscribeconnectedmessage
關閉 Redis 連線

若只要下一道單獨的命令,那是 Redis command,屬於請求/回應型的動作 — 請參閱 請求與組合

動作輸入輸出
Kafka consumeconnectedmessage
關閉 Kafka 連線

消費端會透過該請求的消費者群組訂閱。要產生訊息則是 Kafka produce,那是一次性 的動作。請參閱 Kafka

動作輸入輸出
gRPC connectconnectedmessage
gRPC sendpayload
關閉 gRPC 連線

適用於 server-streamclient-streambidirectional-stream 三種模式:傳送 只對後兩者有意義,關閉則執行用戶端側的半關閉。unary 呼叫請用 HTTP 請求。請參閱 gRPC

動作輸入輸出
GraphQL 訂閱connectedmessage
GraphQL 取消訂閱

請參閱 GraphQL