Nchan - 同時支援發佈與訂閱(PubSub)設定
同時支援發佈與訂閱(PubSub)設定 Nchan也支援同時可以訂閱與發佈的設定,這對WebSocket全雙工的通道來說,是最方便的,連上一個位置,就可以訂閱訊息也可以發送訊息到同個channel。 location = /pubsub { nchan_pubsub; nchan_channel_id foo; nchan_channel_group test; } 若要同時支援訂閱與發佈,只需要加上nchan_pubsub的關鍵字即可,在此模式下,所有的GET請求都會被當成訂閱者,POST請求都會當作發佈者,如果只想接受Websocket的連線,
… Read more
Nchan - 發佈者(Publisher)設定

發佈者(Publisher)設定

可以從之前章節發現,要讓某個位置成為發佈的端點,只需要加入nchan_publisher的關鍵字,至於要發送到哪個channel則是設定nchan_channel_idnchan_channel_group即可。

除了使用WebSocket發送訊息之外,Nchan還提供一般的HTTP POST方式發送訊息,以下用curl作為範例。

假設在/pub位置設定了publisher

… Read more
Nchan - 訂閱者(Subscriber)設定

訂閱者(Subscriber)設定

Nchan提供多種訂閱方式,包括WebSocketEventSourceLong PollInterval-PollHTTP Chunked TransferHTTP multipart/mixed,但我只有使用過WebSocket,所以會以WebSocket為主,若對其他方式有興趣的可以到nchan官方網站上查看。

經過前面幾個章節,大家一定都已經知道,要讓某個位置變成可訂閱,只需要加上nchan_subscriber的關鍵字

… Read more
Nchan - 頻道 Channel ID

頻道 Channel ID

經過以上實作

可以發現channel id是nchan流通資訊的識別ID

所以在設定channel id時就特別重要

以下提供三種設定方式

… Read more
Nchan - 頻道 Group ID

頻道 Group ID

Group ID是用來輔助Channel ID的,在某些設計下,channel ID會有重複的情況,Group ID則是避免在Channel ID重複下,彼此收到同樣的訊息。

… Read more