javascript-具有多个用户的服务器发送的事件

我正在尝试使用新的Server-Sent Events 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事件的消息,与第二个用户相同,它将得到发送到通知事件的消息.在上面的代码中,事件名称和消息是静态的,但是您可以根据需要将其设置为动态.

希望这对您有所帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。