- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章页面间隔半秒钟更新时间 Asp.net使用Comet开发http长连接示例分享由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
好处:1.和AJAX轮询比起来 节省资源,并且延迟小, 2.和webSocket比起来,适用的场景比较广泛.
1.先建立一个Asp.net MVC的空项目 。
添加一个控制器 (同样的代码在Asp.net WebForm中也是可以使用的) 。
。
。
2.再兴建一个控制器和View 用于显示HTML 。
。
public class HomeController : Controller { // // GET: /Home/ 。
。
public ActionResult Index() { return View(); } 。
} 。
。
View的代码比较重要 。
。
@{ Layout = null; } <!DOCTYPE html> <html> <head> <title>Index</title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script language="javascript"> var req = false; var lastDelimiterPosition = -1,
。
$(document).ready(function () { getData(); }),
function getData() { loadXMLDoc("/Comet/Test"); } 。
//新建一个XHR function createRequest() { if (window.XMLHttpRequest && !(window.ActiveXObject)) { try { req = new XMLHttpRequest(); } catch (e) { req = false; } // branch for IE/Windows ActiveX version } else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { req = false; } } } } 。
//发起请求 function loadXMLDoc(url) { try { if (req) { req.abort(); req = false; } createRequest(); if (req) { req.onreadystatechange = processReqChange; req.open("GET", url, true); req.send(""); } else { alert('unable to create request'); } } catch (e) { alert(e.message); } } 。
//检查状态 function processReqChange() { if (req.readyState == 3) { try { ProcessInput(req.responseText); if (req.responseText.length > 3000) { lastDelimiterPosition = -1; getData(); } } catch (e) { alert(e.message); } } } 。
//拆分字符串 function ProcessInput(input) { var text = input; var nextDelimiter = text.indexOf('|', lastDelimiterPosition + 1); if (nextDelimiter != -1) { var timeStamp = text.substring(nextDelimiter + 1); if (timeStamp.length > 0) { lastDelimiterPosition = nextDelimiter; ProcessTime(timeStamp); } } } 。
//输出 或者触发什么事件 function ProcessTime(time) { document.getElementById('div1').innerHTML = time; } </script> </head> <body> <div> <div id="div1"> </div> <div id="div2"> </div> </div> </body> </html> 。
。
3.最终效果为
页面上显示一个时间,每隔半秒钟更新一次 。
当然,拿到内容以后,其实你想做什么就做什么。。。更新DOM也好,执行js也好, (还好有eval这个方法~~) 。
4.这个例子只是基于异步Javascript的一个实现.
实际上还可以通过<iframe> 和 <script>这两个标签做实现,特别是script标签可以访问和执行跨域的javascript. 。
最后此篇关于页面间隔半秒钟更新时间 Asp.net使用Comet开发http长连接示例分享的文章就讲到这里了,如果你想了解更多关于页面间隔半秒钟更新时间 Asp.net使用Comet开发http长连接示例分享的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我想测试它可以支持多少个连接。 我正在使用轨道,特别是流媒体,而不是长轮询。 最佳答案 Webload是你正在寻找的东西。 关于comet - 如何对 Comet 服务器进行压力测试?,我们在Stac
我看到 Akka 模块的描述说 Play有很好的 Comet 支持,但我从未使用过 Comet之前,我在 Play 的文档中找不到任何提及。它在 Play 中是如何工作的? 我花了两天多的时间来解决这
我尝试设置 comet ( https://www.comet.ml ) 来跟踪我的 Tensorflow 实验,在创建实验并记录数据集后,我在报告中无法获得准确性。 我的代码: mnist = ge
我正在尝试设置 https://www.comet.ml记录我的实验细节 出现奇怪的错误: Traceback (most recent call last): File "train.py",
我正在运行来自 Comet github project 的 keras 示例. 我添加导入并创建一个新实验: def train(x_train,y_train,x_test,y_test): mo
在 Comet/Reverse Ajax/PubSub 底层技术/基础是 Long polling。所以连接保持打开一分钟左右.. 根据我对网络和操作系统的了解,TCP/IP 仅支持 65535 个端
您与 Websync 合作的体验如何? ( cometd 框架)?在使用它之前,您是否考虑过任何替代方案? 到目前为止我可以说 优点: 非常简单易用 不需要任何服务器配置 缺点: 昂贵(结果为我们节省
我正在考虑编写一个需要能够将消息推送到浏览器的实时网络应用程序。当我第一次阅读 Comet 时,由于浏览器支持薄弱,人们似乎认为它是一种脆弱且不成熟的方法。今天,它似乎是一种既定又实用的技术。但据我所
我需要一些 linux 大师的帮助。我正在开发一个包含 cometd 服务器的网络应用程序。 Comet 服务器在 localhost:8080 上运行,并公开 url localhost:8080/
我读过一些关于这个主题的帖子,答案是 comet、反向 ajax、http 流、服务器推送等。 How does incoming mail notification on Gmail works?
我正在使用 JSONP 进行长轮询,firefox 不断弹出“正在加载”微调器,使页面看起来好像还没有完成加载。有没有办法抑制这种情况? 有人告诉我,Orbited 团队有一些技巧可以抑制这种情况,但
我有一个用 Twisted 编写的简单 cometd 服务器。它打印出时间戳。我还有一个小型静态网络服务器在同一端口上运行。所服务页面上的 JavaScript 尝试通过附加来自 Comet 服务器的
我断断续续地学习 Scala 一段时间,并成功地建立并运行了一个简单的实时发布系统。 我想知道是否有人可以帮助我在正确的方向上通过 JSON 将数据更改推送到我正在运行的几个 javascript 模
我正在尝试为 Comet 设计一个实用的客户端 (JavaScript) 实现。 http://en.wikipedia.org/wiki/Comet_(programming) ) 谈论理论,但我很
我听说我可以使用 Comet作为服务器推送技术与我的 Ajax 代码一起提高我的 Web 应用程序的性能。 这项 cometd 技术有多成熟? 是否所有网络服务器、编程语言和浏览器都支持它? 使用 C
对于一个社交网站,我们使用基于 node.js 的 Comet 服务器作为即时通讯工具,一切都运行良好,我们只有一个问题如何解决澳大利亚和新西兰的延迟问题,我们的 RRT 在 310 毫秒到 440
我一辈子都弄不明白像 Cometd 或 simple-comet 这样的应用程序的目的是什么,而不是像使用 php 的简单长轮询请求和使用这样的代码的无限循环 $time = time(); whil
这更多是出于好奇和“供将来引用”,但 Comet 是如何在数据库端实现的?我知道大多数实现使用长生命周期 HTTP 请求来“等待”直到数据可用,但这是如何在服务器端完成的? Web 服务器如何知道新数
我一直想知道使用 COMET/推送技术是否比使用长请求的更简单的轮询有真正的优势,在轮询中服务器将等待特定的最长时间以等待新事件发生,然后再告诉客户端什么都没有发生. 这两种技术都有相似的客户端延迟,
我想编写一个实时聊天应用程序,需要决定使用哪些技术。 这些技术之间有什么区别,您更喜欢哪一种,为什么? WebSockets 不是一种选择,因为它还没有准备好在野外战斗 谢谢 最佳答案 您应该阅读问题
我是一名优秀的程序员,十分优秀!