ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-10-31 02:32:14  阅读:160  来源: 互联网

标签:server-sent-events html5 javascript php


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

希望这对您有所帮助.

标签:server-sent-events,html5,javascript,php
来源: https://codeday.me/bug/20191031/1972163.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有