• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#实现HTML5服务器推送事件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

为什么需要服务器推送事件:

    因为如果需要保持前台数据的实时更新例如,IM聊天,股票信息,

        1.可以在客户端不断地调用服务端的方法来获得新数据,但是这样会很消耗服务器资源,导致系统变慢!

       2 html5的新特性能在服务器直接发送最新数据到前台进行显示。

   先看后台的写法:WebForm8.aspx.cs

protected void Page_Load(object sender, EventArgs e)
        {
            
            Response.ContentType = "text/event-stream";
            Response.Expires = -1;
            while (true)
            {
                Response.Write("date1235:" + DateTime.Now+"\n\n");
                Thread.Sleep(2000);

                //向客户端发送当前的缓冲数据
                //如果你将Flush写的循环外面,将会等循环执行完后一起显示到前台,当然这个是死循环
                Response.Flush();
            }
            
        }

在看html的写法:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm8.aspx.cs" Inherits="WebApplication1.WebForm8" %>

<!DOCTYPE html><!--注意此处是HTML5的标识,写出这样代表目前用的html版本是5-->

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form >
    <div >
    
    </div>
    </form>
</body>
</html>

<script type="text/javascript">
    //HTML5 服务器推送事件
    function ServerSendClient() {
        if (typeof (EventSource) !== "undefined") {
            var source = new EventSource("WebForm8.aspx.cs");
            source.onmessage = function (event) {
                document.getElementById("result").innerHTML += event.data + "<br />";
            };
        }
        else {
            document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
        }
    }
    ServerSendClient();
</script>

  前台截图:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c#单态模式与泛型结合的使用方法发布时间:2022-07-10
下一篇:
C#多线程,基础知识很重要发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap