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

多協(xié)議發(fā)送問題

bijingjieshen

后端采用gatewayworker框架,里面有兩個協(xié)議一個是json協(xié)議,一個是text協(xié)議,兩個協(xié)議采用不同的端口號分別為8088和8099。現(xiàn)在有這樣一個場景:
當8088接收到數(shù)據(jù)后,我想發(fā)給正在監(jiān)聽8099的那個客戶端,但是會出現(xiàn)一個問題。發(fā)送的數(shù)據(jù)協(xié)議為json,可是8099那個端口是text協(xié)議解析的。請問這個情況應該怎么辦?

3625 6 0
6個回答

walkor 打賞

協(xié)議對于業(yè)務是透明的,直接send即可,給text端口發(fā)送數(shù)據(jù)時框架會自動用text協(xié)議發(fā)。

  • 暫無評論
bijingjieshen

哦哦,我懂您的意思了。就是sendToClient和sendToCurrentClient這兩個發(fā)送函數(shù)會從協(xié)議的encode中進行打包,是這個意思嗎?
但是我還是不懂這個send應該要怎么寫?如何獲得這個鏈接的描述符?

  • 暫無評論
bijingjieshen

我看到clientIdToAddress這個函數(shù)了,能把client_id轉(zhuǎn)換成local_ip,local_port,和connection_id。這個connection_id是不是就是socket描述符呢?

  • 暫無評論
walkor 打賞

不用去管里面的實現(xiàn)。會用接口就行。
一般客戶端鏈接上來后要發(fā)一個登錄驗證包的,Events.php里根據(jù)驗證信息得到用戶uid,然后Gateway::bindUid($client_id, $uid);,之后就可以通過Gateway::sendToUid($uid, $message)給這個用戶發(fā)數(shù)據(jù)了

  • 暫無評論
bijingjieshen

給text端口發(fā)的數(shù)據(jù)時,正常調(diào)用接口會返回給客戶端text協(xié)議數(shù)據(jù),可是我想讓他返回json協(xié)議數(shù)據(jù)

  • 暫無評論
walkor 打賞

把數(shù)據(jù)轉(zhuǎn)成json發(fā)過去就行了。

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