第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php 實現(xiàn)一對一聊天的遇到的問題該如何解決??

php 實現(xiàn)一對一聊天的遇到的問題該如何解決??

PHP
qq_笑_17 2019-03-07 23:36:25
我的程序設(shè)計如下圖: 客戶端通信數(shù)據(jù)格式為: $msg = [ 'from' => 'selfUsername' , 'to' => 'toUsername' , 'msg' => 'hello boy' ]; $msg = serialize($msg); 第一種實現(xiàn)與遇到的問題: 轉(zhuǎn)發(fā)服務(wù)器創(chuàng)建的監(jiān)聽客戶端連接的子進程接受到客戶端發(fā)送的消息后,解析數(shù)據(jù),找到監(jiān)聽對應(yīng)客戶端連接的子進程,將消息發(fā)送給子進程,然后那個子進程再將消息發(fā)送給對應(yīng)的客戶端鏈接。 這邊有一個難題,就是如何給創(chuàng)建的子進程設(shè)立標識(使用進程ID來唯一標識一個子進程可以不)??進程間通信的方式該使用哪一種(消息隊列、共享內(nèi)存、socket...)?? 第二種實現(xiàn)與遇到的問題 客戶端連接的時候,將 資源描述符 和 創(chuàng)建的監(jiān)聽客戶端連接的子進程ID 保存下來。客戶端連接發(fā)來消息,對應(yīng)監(jiān)聽的子進程接受到消息后,通過 進程ID 找到 對應(yīng)的客戶端連接資源描述符,直接向該客戶端連接發(fā)送消息。 這邊碰到的問題是,客戶端鏈接的資源描述符 是 resource 類型的,無法在共享內(nèi)存中維護一個保存有所有子進程ID 和 每個子進程ID對應(yīng)監(jiān)聽的客戶端連接資源描述符 的數(shù)組。因為 shm_put_var 中第二個參數(shù)寫著保存的只能是能夠被 serialize 的變量類型(resource 類型的無法序列化)! 請問,按照我上面提供的程序設(shè)計圖,如何實現(xiàn)一對一聊天?? 該問題有另外一種方法實現(xiàn),參考我的另一種實現(xiàn) 私聊(PHP實現(xiàn))。 不知道就這邊的思路該如何實現(xiàn)??
查看完整描述

3 回答

?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

我是來推薦 swoole 的。怎么可以不用這個,或者使用 easyswoole。
官網(wǎng)有 socket 的 demo。

https://img1.sycdn.imooc.com//5c8f64110001dd5408000256.jpg

https://img1.sycdn.imooc.com//5c8f64130001076708000710.jpg

查看完整回答
反對 回復(fù) 2019-03-18
  • 3 回答
  • 0 關(guān)注
  • 525 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號