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

想問下大神們,為什么連發(fā)送消息都要用ajax再去控制器發(fā)送,而不是直接ws.send()

梁大胖

截圖
如題 官方文檔明確寫出 GatewayWorker不接受客戶端發(fā)來的數(shù)據(jù),即GatewayWorker不處理任何業(yè)務(wù)邏輯,GatewayWorker僅僅當(dāng)做一個(gè)單向的推送通道
比如我的A要給B發(fā)送一條信息 明明我可以直接ws.send(xxx) 給GatewayWorker 然后再轉(zhuǎn)發(fā)給B 官方為何會(huì)推薦發(fā)一個(gè)ajax去控制器里,再到控制器里發(fā)送消息呢
這樣豈不是增加了步驟?
官方為何這么推薦呢,有點(diǎn)迷惑

2602 1 0
1個(gè)回答

walkor 打賞

這里講的是GatewayWorker如何與其它mvc框架結(jié)合。
如果業(yè)務(wù)只是簡(jiǎn)單的將消息轉(zhuǎn)發(fā)可以直接使用GatewayWorker,也就沒有必要把其它框架了,直接使用GatewayWorker收發(fā)消息是沒有問題的。

現(xiàn)實(shí)中不僅僅是消息轉(zhuǎn)發(fā)這么簡(jiǎn)單,A給B發(fā)消息,一般需要判斷A是否有權(quán)限給B發(fā),B是否存在,消息數(shù)據(jù)要存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù)以便查看歷史消息。這些業(yè)務(wù)邏輯都需要讀寫存儲(chǔ)的,開發(fā)者熟悉mvc框架,在mvc里操作這些很順手。所以推薦ajax發(fā)到mvc框架做這些邏輯,然后mvc框架用gatewayClient調(diào)用GatewayWorker推送消息給前端。

  • join1987 2020-03-06

    可不可以在events onmessage中做消息轉(zhuǎn)發(fā) clentid message 調(diào)用tp5中其他控制器方法進(jìn)行消息處理呢
    我用tp5 簡(jiǎn)單的轉(zhuǎn)發(fā)ok 但是一旦調(diào)用的控制器繼承了think/controller 就會(huì)報(bào)錯(cuò) 有沒有好的解決辦法

  • walkor 2020-03-08

    可以

  • join1987 2020-03-08

    @1:弄了兩天沒搞定 求指教 --我繼承了think/controller和使用think/db類都會(huì)報(bào)錯(cuò)

  • join1987 2020-03-08

    @1: 在event文件中應(yīng)該如何配置 tp做哪些修改 gatewayworker

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