国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman push 使用疑問

軟飯工程師

我打算使用webman push 實現(xiàn)一個聊天系統(tǒng),有些問題不明白,請大家解惑

1,使用私有頻道需要鑒權(quán),如下代碼將access_token 傳給服務(wù)端,在服務(wù)端auth接口里面對token進(jìn)行驗證,這樣可以嗎,或者有更優(yōu)雅的辦法?

  var connection = new Push({
    url: 'ws://127.0.0.1:3131', // websocket地址
    app_key: 'xxxx',
    auth: '/plugin/webman/push/auth?token=111111' // 訂閱鑒權(quán)(僅限于私有頻道)
  });

2,群聊場景如何實現(xiàn),新建一個頻道,所有客戶端訂閱這個頻道嗎?

3,單聊如何實現(xiàn),a->b 發(fā)送消息,a訂閱a->b 這個頻道才能發(fā)消息,b也需要訂閱a->b這個頻道才能收到消息,每新增一個單聊,都需要新增一個頻道嗎?這樣是否需要一個頻道接口?或許有更優(yōu)雅的辦法?

4,a給b發(fā)送離線消息,b不在線,服務(wù)端將消息存儲下來,定時器檢測b的狀態(tài),b 上線將消息推送給b,還是寫一個離線消息接口,上線后主動查詢未讀的離線消息?

1550 6 3
6個回答

walkor 打賞

1、一般不用傳token,因為瀏覽器發(fā)起請求服務(wù)端會直接拿到session。如果你沒用session的話,可以傳token
2、一個群聊一個頻道
3、單聊每個用戶訂閱一個自己的頻道,給哪個用發(fā)消息直接向?qū)?yīng)的頻道發(fā)布消息,發(fā)布時帶上發(fā)布人的id用來區(qū)和誰群聊
4、上線主動ajax請求讀一遍未讀消息

  • 軟飯工程師 2024-03-06

    好的,謝謝老大,還有疑問:
    1,關(guān)于單聊,每個用戶訂閱自己的頻道就能收到發(fā)送給自己的消息,這個我理解了;
    如果要給別人發(fā)送消息,是否要訂閱對方的頻道?
    意思就是a->b,a->c發(fā)送消息,a是否需要訂閱a->b,a->b這個頻道

    2,多個單聊的情況下,聊天列表如何實現(xiàn),訂閱對方的頻道并將頻道列表作為聊天列表嗎?

    3,離線消息處理問題,服務(wù)端需要對消息做一些處理,比如當(dāng)用戶下線時,記錄發(fā)給該用戶的消息,記錄消息閱讀狀態(tài),這個并沒有找到onmessage,onclose這些事件,請問應(yīng)該怎么處理

  • walkor 2024-03-06

    1、對于單聊來說,用戶a只訂閱a的頻道,b只訂閱b的頻道,沒必要訂閱a-b等頻道
    2、頻道只做消息推送,和誰在聊天寫入數(shù)據(jù)庫,聊天列表從數(shù)據(jù)庫讀
    3、webman/push 有webhook,會通知哪個頻道下線了,比如a頻道下線了就是a用戶下線了

  • vasks 2024-11-22

    沒太明白:
    3、單聊每個用戶訂閱一個自己的頻道,給哪個用發(fā)消息直接向?qū)?yīng)的頻道發(fā)布消息,發(fā)布時帶上發(fā)布人的id用來區(qū)和誰群聊
    文檔說明:
    客戶端間推送僅支持私有頻道(private-開頭的頻道),并且客戶端只能觸發(fā)以 client- 開頭的事件。
    a如何發(fā)送給b消息:a訂閱了頻道a 如何發(fā)送到頻道b 按照這個邏輯。
    私聊使用私有頻道嗎 我沒太弄明白

tanhongbin

兄弟 應(yīng)該是剛使用webman呀,有新人來用good

  • 暫無評論
Le

插眼

  • 暫無評論
vasks

大兄弟,在嗎?
沒太明白:
3、單聊每個用戶訂閱一個自己的頻道,給哪個用發(fā)消息直接向?qū)?yīng)的頻道發(fā)布消息,發(fā)布時帶上發(fā)布人的id用來區(qū)和誰群聊
文檔說明:
客戶端間推送僅支持私有頻道(private-開頭的頻道),并且客戶端只能觸發(fā)以 client- 開頭的事件。
a如何發(fā)送給b消息:a訂閱了頻道a 如何發(fā)送到頻道b 按照這個邏輯。
私聊使用私有頻道嗎 我沒太弄明白

  • walkor 2024-11-22

    私聊和私有頻道沒有直接關(guān)系。
    公有頻道可以理解為公共電話號碼,誰都知道,可以直接通過公共電話給他發(fā)數(shù)據(jù)。
    私有頻道可以理解為私人號碼,只有有權(quán)限的人才知道,安全性更好。
    私聊走公有頻道和私有頻道都可以。

  • vasks 2024-11-22

    大佬真猛 實時響應(yīng),太贊了。
    我理一下:
    方法1:如果客戶端使用js給接口php發(fā)送,php在推送,這倒是推送私有 公共頻道都可以。這個我能明白。
    方法2:如果使用客戶端推送(js直推): 看文檔只能推送私有頻道,a訂閱a,不訂閱b,這種如何給b發(fā)送?
    還是說做聊天系統(tǒng),js發(fā)送到php,就用php推送完事。 那客戶端推送的場景是什么。

  • vasks 2024-11-22

    客戶端推送
    以上例子都是客戶端訂閱某個頻道,服務(wù)端調(diào)用API接口推送。webman/push 也支持客戶端直接推送消息。

    注意
    客戶端間推送僅支持私有頻道(private-開頭的頻道),并且客戶端只能觸發(fā)以 client- 開頭的事件。

    客戶端觸發(fā)事件推送的例子

    var user_channel = connection.subscribe('private-user-1');
    user_channel.on('client-message', function (data) {
    //
    });
    user_channel.trigger('client-message', {form_uid:2, content:"hello"});
    注意
    以上代碼給所有(除了當(dāng)前客戶端)訂閱了 private-user-1 的客戶端推送 client-message 事件的數(shù)據(jù)(推送客戶端不會收到自己推送的數(shù)據(jù))。

  • walkor 2024-11-22

    單聊還是用PHP推送比較好
    js直推適合不需要php后端參與的場景,例如不需要記錄消息到數(shù)據(jù)庫,不不需要后端其它驗證。
    例如對戰(zhàn)小游戲?qū)崟r更新坐標(biāo),例如聊天室不需要記錄歷史消息

  • vasks 2024-11-22

    好的 謝謝!太愛了,贊!!

chaz6chez

可以參考http://wtbis.cn/plugin/102

文檔,這是官方webman/push的多進(jìn)程分布式版本,文檔方法類似

  • 暫無評論
南宮春水

樓主,請問后端 trigger 如何動態(tài)獲取私有頻道用戶id呢?

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??