PHP套接字守护进程,第二个窗口TAB没有被处理,直到广播发送出去


php socket daemon, 2nd window tab not being processed until broadcast is sent out

所以我在php中编写了一个守护进程,它工作得很好,直到我在同一个浏览器中打开两个选项卡,然后这个错误开始发生。这两个标签被视为相同的套接字,因为当消息被发送时,第一个标签得到消息,而第二个标签直到另一个消息被发送。如果打开了3个标签,它会在3个标签之间交替。有办法解决这个问题吗?

到守护进程和客户端的链接:守护进程客户端命令行:php z.daemon.php

只有两个选项卡窗口:client.php?action =听action=broadcast&broadcast=test

——编辑——另外,第二个选项卡窗口(listen)甚至没有在命令行输出中显示其作为客户端连接。

——编辑——有没有一种方法可以发送唯一的id给socket_select来帮助它判断是否是新的?

在页面加载时生成一个随机id,并使用它来识别具有查询字符串的单个客户端。