前台 html
<script type="text/javascript">
if (typeof (EventSource) != "undefined") {
var es = new EventSource("http://localhost:8080/Home/GetNotices?user=lxw");
es.onmessage = function (event) {
//var data = JSON.parse(event.data);
//$('#msgCount').text(data + "</br>")
document.body.innerHTML += event.data + '<br>';
};
es.onopen = function (event) {
console.log("open:" + JSON.stringify(event));
};
es.onerror = function (event) {
console.log("error:" + JSON.stringify(event) + JSON.stringify(es));
};
}
else {
console.log("该浏览器不支持");
}
</script>
后台 asp.net mvc
public void GetNotices(string user)
{
var sb = new System.Text.StringBuilder();
sb.AppendFormat("retry:{0}\n\n", 2000); //推送间隔
sb.AppendFormat("event:{0}\n\n", "message"); //绑定onmessage
sb.AppendFormat("id:{0}\n\n", System.Threading.Thread.CurrentThread.ManagedThreadId);
string info = "当前线程:" + System.Threading.Thread.CurrentThread.ManagedThreadId + " 时间:" + DateTime.Now.ToString()+" 用户:"+ user;
sb.AppendFormat("data:\"{0}\"\n\n", info);
Response.ContentType = "text/event-stream";
Response.Expires = -1;
Response.Write(sb.ToString());
Response.Flush();
}
允许跨域配置
<system.webServer> 节点中添加
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" />
</customHeaders>
</httpProtocol>
今天的文章EventSource JS实时通信分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/29319.html