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

workerman中有多條進(jìn)程,多個用戶進(jìn)來,$worker里的connection連接數(shù)不在同一個上

henry

$worker = new Worker('websocket://0.0.0.0:9393', $context);
$worker->transport = 'ssl';
// 啟動4個進(jìn)程對外提供服務(wù)
$worker->count = 24;比如有三個用戶進(jìn)來,worker->connection的個數(shù)只有兩個?其他的到其他進(jìn)程去了?

4968 4 0
4個回答

henry

接著我想把id和connection組成的數(shù)據(jù)放到緩存里,一旦connection放在數(shù)據(jù)中,這個數(shù)組就沒數(shù)據(jù),這是什么原因呢?
?
如:?
$info =

  • 暫無評論
walkor 打賞

這個數(shù)組在每個進(jìn)程都有一個,每個進(jìn)程的變量是獨(dú)立的,不能共享。
設(shè)置成但進(jìn)程就好了

  • henry 2019-01-04

    每個進(jìn)程都是獨(dú)立的沒關(guān)系的,我是把這個數(shù)組放在redis緩存里了,緩存是針對整個服務(wù)器的

  • henry 2019-01-04

    我是不想把他設(shè)置為單進(jìn)程,所以才引入緩存這個東西存儲每個進(jìn)程的connection

  • henry 2019-01-04

    單進(jìn)程我擔(dān)心連接數(shù)太多,扛不住,我們會多個房間同時開啟websocket

  • henry 2019-01-04

    問題是在于:我把connection變量放在數(shù)組里,直接打印數(shù)組為空

walkor 打賞

外部存儲無法存儲內(nèi)存里的資源變量,就像你無法在redis里存儲mysql連接對象一樣

  • henry 2019-01-04

    那我如何能保存所有的連接呢,用于后續(xù)發(fā)給所有的用戶,進(jìn)程數(shù)不設(shè)為1的情況

  • walkor 2019-01-04

    用gatewayWorker吧,這些都寫好的

  • henry 2019-01-04

    workerman如何實(shí)現(xiàn)曉得嗎

  • walkor 2019-01-04

    workerman手冊channel組件里有例子。

  • henry 2019-01-04

    我就是不知道自己實(shí)現(xiàn)該怎么存儲,謝謝你

henry

追加另一個問題:我在用gateway的時候,gateway和businessworker都啟動了4條進(jìn)程,然后我在Event.php中處理OnWorkerStart函數(shù):

echo "進(jìn)去定時器了哦\n";
Timer::add(10, function(){
    echo "timer\n";
    Gateway::sendToGroup(321, '發(fā)送定時信息1');
});

進(jìn)去定時器了哦 這句話會執(zhí)行4次,定時器里面也每10秒發(fā)送4次相同的數(shù)據(jù),我該怎樣做,才能實(shí)現(xiàn)發(fā)送一次呢

  • henry 2019-01-08

    除了對$businessWorker->id 進(jìn)行0,1,2,3的判斷,還有其他方法嗎

  • henry 2019-01-08

    還有個問題:客戶端連通服務(wù)器后,我用Gateway::sendToGroup(321, '發(fā)送定時信息1');向客戶端發(fā)送了一兩分鐘都發(fā)送成功,它這個不會掉線嗎?是不是在哪里可以設(shè)置時間?

  • phpcreeper 2019-01-08
    1. 多進(jìn)程模型,必然是每個進(jìn)程都會執(zhí)行一次,這沒有什么毛病。如果只想某個進(jìn)程干活,除了你說的方法,另外就是使用單進(jìn)程模型。
    2. 不會掉線是因?yàn)橛行奶鴻C(jī)制,這個建議好好看手冊。
年代過于久遠(yuǎn),無法發(fā)表回答
??