EventSource JS实时通信

EventSource JS实时通信前台html<scripttype=”text/javascript”>if(typeof(EventSource)!=”undefined”){vares=newEventSource(“http://localhost:8080/Home/GetNotices?user=lxw”);es.onmessage=function(event){//v

EventSource

前台 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实时通信分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/29319.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注