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

gateway中的http和json兩個(gè)協(xié)議共用的問題

bijingjieshen

現(xiàn)在項(xiàng)目需要用到兩個(gè)協(xié)議,一個(gè)是http,一個(gè)是自定義的json,因此有兩個(gè)gateway,一個(gè)負(fù)責(zé)監(jiān)聽http,一個(gè)負(fù)責(zé)監(jiān)聽json,而我的需求是,當(dāng)http有發(fā)送數(shù)據(jù)時(shí),將這個(gè)數(shù)據(jù)轉(zhuǎn)為json,然后轉(zhuǎn)發(fā)到連接json gateway的客戶端,但現(xiàn)在發(fā)現(xiàn)http發(fā)過來的數(shù)據(jù)會(huì)調(diào)用http的gateway,轉(zhuǎn)發(fā)給json客戶端時(shí)發(fā)送時(shí)client_id顯示為空,我感覺是這個(gè)client_id是保存在json的gateway那里的,所以http的gateway不能獲取到,請(qǐng)問怎么讓http的gateway監(jiān)聽到數(shù)據(jù)時(shí)能夠轉(zhuǎn)發(fā)到j(luò)son上的客戶端連接??

4233 5 0
5個(gè)回答

walkor 打賞

gateway不用監(jiān)聽http端口。

網(wǎng)頁(yè)將數(shù)據(jù)post任意mvc框架(tp yii等),mvc框架里里用gatewayClient將要推送的數(shù)據(jù)推給客戶端。
參見手冊(cè) http://wtbis.cn/gatewaydoc/advanced/push.html

  • 暫無評(píng)論
bijingjieshen

我這邊是這樣一個(gè)情況,后臺(tái)采用gatewayworker,創(chuàng)建一個(gè)http服務(wù)一個(gè)json服務(wù),如下所示

$ sudo php start.php start
Workerman start in DEBUG mode
----------------------- WORKERMAN -----------------------------
Workerman version:3.3.9          PHP version:5.3.3
------------------------ WORKERS -------------------------------
user          worker                 listen                     processes status
root          YourAppBusinessWorker  none                        4          
root          AppGateway             http://192.168.1.145:8484   4          
root          Register               text://192.168.1.145:1237   1          
root          YourAppBusinessWorker  none                        4          
root          YourAppGateway         json://192.168.1.145:8282   4          
root          Register               text://192.168.1.145:1238   1          

http負(fù)責(zé)獲取手機(jī)app的請(qǐng)求,然后要把請(qǐng)求發(fā)給json那邊。我知道json客戶端client_id,但是在http的onMessage函數(shù)中卻沒法發(fā)出去?

  • 暫無評(píng)論
bijingjieshen

app請(qǐng)求http,http處理完之后發(fā)給指定的車載端(以json格式協(xié)議),通過Gateway::sendToClient('c0a801910fa100000001', "ok");(c0a801910fa100000001為車載端client_id),但是車載端收不到發(fā)送的數(shù)據(jù)。在同一個(gè)協(xié)議下可以發(fā)送給任何連接上的客戶端,但是在兩個(gè)協(xié)議沒法發(fā)送了,怎么辦呢?

  • 暫無評(píng)論
walkor 打賞

按照手冊(cè)多協(xié)議部分 配置正確的話是沒問題,對(duì)照手冊(cè)檢查下看看是不是哪里弄錯(cuò)了。
還有client_id是不是弄錯(cuò)了,可以用Gateway::sendToAll('xxx');發(fā)下試試

  • 暫無評(píng)論
bijingjieshen

已經(jīng)解決了,如下所示,把http和json放在了一個(gè)服務(wù)里面,而不是起兩個(gè)實(shí)例。然后在Events.php的onMessage函數(shù)中通過 if($_SERVER == 8484),寫http邏輯;if($_SERVER == 8282) 寫json邏輯。

$ sudo php start.php start
Workerman start in DEBUG mode
----------------------- WORKERMAN -----------------------------
Workerman version:3.3.9          PHP version:5.3.3
------------------------ WORKERS -------------------------------
user          worker                 listen                     processes status
root          YourAppBusinessWorker  none                        4          
root          YourAppGateway         json://192.168.1.145:8282   4          
root          HttpGateway            http://192.168.1.145:8484   4          
root          Register               text://192.168.1.145:1238   1          
----------------------------------------------------------------
Press Ctrl-C to quit. Start success.
  • banice 2017-04-14

    Events中的http端口onMessage里,可以使用$_POST這些函數(shù)嗎?我用這些函數(shù)全部收不到值。

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