onWorkerStart里面的判断怎么没有办法执行,求大佬教下

bbs3819881

圈红的地方没有办法运行,无法打印,应该怎么解决?

1236 3 0
3个回答

six

很明显,你的业务代码没运行到红框,进入上面continue了

  • bbs3819881 2019-07-24

    但是我把无数据的删掉了也进不去这个判断里面呀

  • six 2019-07-24

    你要先保证 foreach 进去了,代码改完要重启

  • bbs3819881 2019-07-25

    @1393:onMessage收不到消息也就是客户端不给服务端发数据的话foerach就进不去了怎么回事?代码在下面,大佬帮忙看看,我就是按照例子来写的

taozywu

@https://wenda.workerman.net/people/bbs3819881 

首先代码要贴全。
 
从代码上大致能看到,进程启动后,会每隔4s运行一次。

1) 保证$worker->connectsions 存在,意味着确实有连接上来
2) 保证$connection->lastMessageTime赋值

  • bbs3819881 2019-07-25

    测试了一下,如果onMessage不在收到信息的时候foreach里面是进不去的,这个是什么原因呢?

  • bbs3819881 2019-07-25

    全部代码在下边

bbs3819881

代码在这。我怎么验证呢?

  • taozywu 2019-07-29

    代码本身没问题,我觉得你流程应该没有搞清楚。
    1)首先触发onWorkerStart,代表进程开始启动了并定时器执行。
    2)其次是客户端连接上来了并发送了数据触发onMessage

    以上2条如果你均尝试过,流程就通了。

年代过于久远,无法发表回答
🔝