我正在尝试使用新的服务器发送事件 API 编写聊天程序,但是,我一直无法弄清楚如何向不同的用户发送不同的事件。由于所有代码都发生在一个 PHP 文件中,我不确定仅向每个用户发送某些事件的最佳方法。您能提供的任何帮助将不胜感激。 (我正在使用 PHP 和 Javascript)
假设以下是您的 sender.php 代码(一个 php 文件)
echo "event: ping\n";
$msg1="This is first user";
echo 'data: {"msg": "' . $msg1 . '"}';
echo "\n\n";
echo "event: notify\n";
$msg2="This is second user";
echo 'data: {"msg": "' . $msg2 . '"}';
echo "\n\n";
第一个用户的 javascript 代码如下
var evtSource = new EventSource("sender.php");
evtSource.addEventListener("ping", function(e) {
var obj = JSON.parse(e.data);
var r_msg = obj.msg;
第二个用户的 javascript 代码如下
var evtSource = new EventSource("sender.php");
evtSource.addEventListener("notify", function(e) {
var obj = JSON.parse(e.data);
var r_msg = obj.msg;
代码的解释是
您可以为每个用户分配一个唯一的事件名称,然后从发送者处将数据发送到您想要的特定用户的事件名称。在上面的代码中,用户一将仅获取发送到 ping 事件的消息,与第二个用户相同,它将获取发送到通知事件的消息。在上面的代码中,事件名称和消息是静态的,但您可以根据您的要求将其设为动态。
希望这会对您有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)