进程间获取$connection

sanye

问题描述

有个问题请教一下,我用workerman建立一个udp服务,收到消息了可以在onMessage里面正常回复,但现在我把消息扔到队列里面去了,队列再分配给各个服务去处理,问题是现在我怎么拿到$connection呢?我想拿到$connection调用send方法给客户端发送消息

为此你搜索到了哪些方案及不适用的原因

试用了channe

807 1 0
1个回答

xiuwang

把客户端的ip和port数据也发送到队列里,队列直接向客户端的ip和端口发送udp数据,发送代码类似

$client = stream_socket_client('udp://ip:port');
stream_socket_sendto($client, 'udp数据');
  • sanye 2022-11-23

    试了一下,用工具测试了一下,好像不行

  • xiuwang 2022-11-23

    客户端首先要发一个udp到服务端,这样才能打开一个udp的通道。没有这个通道,服务端无法主动推送udp数据

  • sanye 2022-11-23

    是的,我的环境是这样的,在阿里云服务器上部署workerman的udp服务,并做好队列,并在队列指定的进程里面写好逻辑:收到数据后,直接回复“hello world”,然后在本地电脑上用工具连接上,发送数据可以正常收到,但是本地无法收到返回数据

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