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

定時(shí)器問(wèn)題

zwc2004
$io->on('connection', function($socket)use($io){
? ? ? ? echo "new connection coming\n";
? ? ? ? $time_interval = 3;
? ? ? ? $n = 0;
? ? ? ? Timer::add($time_interval, function() {
? ? ? ? ? ? global $io,$n;
? ? ? ? ? ? $io->emit('sendLatest', $n++);
? ? ? ? });
});
\Workerman\Worker::runAll();

兩個(gè)問(wèn)題,麻煩各位幫忙解答一下:
1.當(dāng)頁(yè)面打開(kāi)第一個(gè)頁(yè)面時(shí)$n是從0開(kāi)始返回的,但是打開(kāi)第二個(gè)頁(yè)面時(shí)$n是從第一個(gè)頁(yè)面的數(shù)字開(kāi)始返回,怎么才能每個(gè)請(qǐng)求使用一個(gè)$n呢?
2.當(dāng)打開(kāi)多個(gè)頁(yè)面時(shí),返回的時(shí)間間隔明顯小于3秒了,打開(kāi)越多,間隔越小,有時(shí)候一下子返回好幾個(gè)

3057 3 0
3個(gè)回答

法師

這樣有問(wèn)題吧,有1萬(wàn)個(gè)連接連上來(lái),創(chuàng)建1萬(wàn)個(gè)定時(shí)器,那服務(wù)器不掛才怪啊。
創(chuàng)建一個(gè)定時(shí)器大家一起用比較合理

  • zwc2004 2018-11-15

    怎么只生成一個(gè)定時(shí)器呢

法師

$io->on('workerStart', function(){
? ? // ...
});

  • zwc2004 2018-11-15

    這個(gè)是生成了一個(gè)定時(shí)器,但是如何跟我上面的邏輯結(jié)合呢,把信息定時(shí)推送給前端?

法師
$io->on('connection', function($socket){
? ? ? ? //all_sockets保存所有的socket
? ? ? ? global $all_sockets;
? ? ? ? //給每個(gè)socket添加個(gè)屬性n記錄自增值
? ? ? ? $socket->n = 0;
? ? ? ?$all_sockets = $socket;
});
$io->on('disconnect', function($socket){
? ? ? ?//連接關(guān)閉時(shí)把socket從all_sockets里刪除
? ? ? ??global $all_sockets;
? ? ? ?unset($all_sockets);
});$io->on('workerStart', function() {
? ? Timer::add(3, function(){
? ? ? ? global $all_sockets;
? ? ? ? foreach ($all_sockets as $socket) {
? ? ? ? ? ? ? ? $socket->emit('sendLatest', $socket->n++);
? ? ? ? }
? ? });
});

感覺(jué)你的業(yè)務(wù)邏輯應(yīng)該是這樣的,大概意思是這樣,有報(bào)錯(cuò)自己解決下

  • zwc2004 2018-11-16

    果然是可以的,追加一個(gè):如果用戶(hù)關(guān)閉了瀏覽器,我看并沒(méi)有調(diào)用disconnect,也就是說(shuō)如何釋放掉連接呢?

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