http://wenda.workerman.net/?/question/508 这篇文章中,$inner_text_worker怎么知道$worker->onMessage里面的数据是否接收成功呢。意思就是$worker->onMessage已经取到硬件返回的信息,那$inner_text_worker如何得到返回的值,而且$worker = new Worker('websocket://0.0.0.0:1234'); 和$inner_text_worker = new Worker('Text://0.0.0.0:5678');监听的是不同的端口,它们是异步通信的吧。
$worker = new Worker('websocket://0.0.0.0:1234');和$inner_text_worker = new Worker('Text://0.0.0.0:5678');监听的是不同的端口,但是是同一个进程,同一个进程间全局变量是可以互相访问的,例如uid到连接对象的映射($worker->uidConnections)
而且 $inner_text_worker = new Worker('Text://0.0.0.0:5678');第一次发送数据到$worker = new Worker('Text://0.0.0.0:1234');的时候$worker->data也是为空的,这样也不符合要求。
还有如果是多设备的情况,会不会有部分设备不能接收到数据呢?谢谢!
不会
那么$inner_text_worker如何能及时的收到$worker->onMessage里面发过来的数据呢?
$inner_text_worker不会收到$worker->onMessage发来的数据,但是$worker->onMessage收到的数据可以转发给$inner_text_worker的连接。同样的,反过来也可以。
这个例子实际上就是$inner_text_worker->onMessage收到的数据转发给了$worker的连接,也就是转发给了websocket的连接。
还请老大在代码上指点一二,谢谢。