0
在服務器上,CometD提供了一個MaxQueueListener掛鉤來放置消息,但是如果Bayeux客戶端想要停止從服務器接收消息而不斷開連接,它可以達到那個目的嗎?Bayeux客戶端如何停止從Bayeux服務器接收消息?有沒有辦法在客戶端阻止客戶端和服務器之間的通道?
在服務器上,CometD提供了一個MaxQueueListener掛鉤來放置消息,但是如果Bayeux客戶端想要停止從服務器接收消息而不斷開連接,它可以達到那個目的嗎?Bayeux客戶端如何停止從Bayeux服務器接收消息?有沒有辦法在客戶端阻止客戶端和服務器之間的通道?
A BayeuxClient
僅接收來自服務器的消息,僅針對其訂閱的渠道。
對於BayeuxClient
停止從服務器接收消息就足以取消訂閱它訂閱的所有通道。
BayeuxClient
仍然會收到meta
消息meta
渠道是貝葉協議的一部分,但沒有應用程序消息將由服務器提供。
感謝您的回答。我不想從頻道中取消訂閱,因爲我希望客戶端稍後在頻道上收到郵件。我想要一種方法來阻止客戶端和服務器之間的通道,以便服務器隊列被填滿並且服務器開始丟棄消息。 – user3705462
如果您想稍後接收郵件,稍後您將重新訂閱。你爲什麼要用客戶端可能永遠不想收到的消息填充服務器內存?或者,您只需在客戶端上放置消息。另一種方法是在應用程序級別實現此功能:客戶端通知服務器它想要「暫停」並且服務器可以臨時爲該客戶端放置消息。 – sbordet