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

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

bijingjieshen

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

3706 6 0
6個(gè)回答

walkor 打賞

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

  • 暫無評論
bijingjieshen

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

  • 暫無評論
bijingjieshen

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

  • 暫無評論
walkor 打賞

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

  • 暫無評論
bijingjieshen

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

  • 暫無評論
walkor 打賞

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

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