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

創(chuàng)建tcp異步連接 發(fā)送send 是不是統(tǒng)一發(fā)送?

我創(chuàng)建tcp后 里面循環(huán)發(fā)送某些指令, 想順便send返回一些進(jìn)度條的信息給前段, 但是我發(fā)現(xiàn)是統(tǒng)一返回的, 是閉包結(jié)束后統(tǒng)一send 的嗎, 或者是有什么解決辦法?

1754 2 0
2個(gè)回答

six

感覺(jué) $con->close() 不能for放循環(huán)里吧,第一次循環(huán)就close了,那下次循環(huán)send就沒(méi)有意義了,發(fā)不出去了

  • 2021-12-16

    哦哦 我把close 放出去, 但是 $connection->send 也是循環(huán)完后 統(tǒng)一發(fā)的....

  • 2021-12-16

    測(cè)試下來(lái) 好像跟閉包又沒(méi)有關(guān)系, 我單獨(dú)循環(huán) $connection->send 也是統(tǒng)一發(fā)出來(lái)10條,,,并不是我延遲4秒一次...

walkor 打賞

業(yè)務(wù)代碼和workerman內(nèi)核是運(yùn)行在同一個(gè)進(jìn)程的。如果workerman內(nèi)核得不到運(yùn)行控制權(quán),就無(wú)法完成握手、發(fā)送數(shù)據(jù)這些操作。所以不要用運(yùn)行sleep,使用定時(shí)器來(lái)代替sleep。正確的代碼類似這樣

<?php
require 'vendor/autoload.php';

use Workerman\Worker;
use Workerman\Timer;

$worker = new Worker('websocket://127.0.0.1:8000');
$worker->onWebSocketConnect = function($con){
    for ($i=1; $i<=5; $i++) {
        Timer::add($i, function()use($con){
           $con->send('1');
        }, null, false);
    }
};
Worker::runAll();
  • 2021-12-16

    ok 我去實(shí)驗(yàn)下~

  • 2021-12-16

    那我在創(chuàng)建異步的 $con->onConnect = function($con)use(){} 閉包內(nèi)循環(huán) $con->send() 我為什么感覺(jué)只能發(fā)送第一條? for(){ $con->send(str)} $con->close();這樣的

  • walkor 2021-12-16

    不要靠感覺(jué),發(fā)了多少可以抓包看。

  • 2021-12-16

    我在tcp異步的閉包 循環(huán) for(){ $con->send(str)} $con->close();一條也發(fā)不出去, for(){ $con->send(str);$con->close();}這樣反而可以發(fā)出去一條.....有方法解決嗎

  • walkor 2021-12-16

    需要抓包看,數(shù)據(jù)是否發(fā)送出去,連接是否斷開(kāi)了,哪一端斷開(kāi)的。先確定哪一端問(wèn)題,再解決。

  • 2021-12-16

    咋抓tcp 的 我的是 socket的服務(wù) 創(chuàng)建tcp異步 tcp的連接是別人機(jī)器的ip+端口, 只抓我socket端口的嗎

  • 2021-12-16

    我的是個(gè) win的服務(wù)器...tcpdump沒(méi)有這個(gè)...

  • walkor 2021-12-16

    百度windows 抓包

  • 2021-12-17

    昨天我那個(gè) 把發(fā)送socekt跟異步tcp的 放進(jìn)定時(shí)器 都可以循環(huán)發(fā)出了, 這種方案可行嗎? 或者又什么更好的建議?

  • walkor 2021-12-17

    可行

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