首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查Google消息传递推送通知的新数据

如何检查Google消息传递推送通知的新数据
EN

Stack Overflow用户
提问于 2012-10-24 08:52:33
回答 1查看 201关注 0票数 0

我想要实现的是

服务器端(或ASP.NET页面(我还不知道我需要什么))

  1. 定期检查来自现有页面的HTTP请求上的最新数据。(这是一个动态页面,不知道我在那里,所以它不能发送更新。)
  2. 如果页面上有任何变化,向Google消息系统发送post请求,说明有新的数据
  3. 已经注册的客户端将得到通知,并获得小于4KB的有效负载数据。

问题是#1如何定期检查服务器端的新数据?如果这是一个桌面应用程序,我肯定会使用计时器。

我被困在这里了。你能告诉我你认为应该是什么样子吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-24 15:14:19

您的意思是“检查来自现有页面的HTTP请求上的最新数据”是什么意思?它是您的页面,还是其他人的?另外,为什么您认为您的代码需要在WCF服务或ASP.NET页面中呢?根据您到目前为止所讲的,这听起来像是一个常规的可执行文件。让我们回顾一下它会做些什么:

  • 在HTTP上拉出一个页面,检查它是否自上次更改
  • 如果是,请提取注册客户的列表,将GCM发送给他们

这两个任务都不涉及为Web页面提供服务。如果这段代码需要以某种方式与网站进行交互,这是可以的;但它不一定是该网站的一部分。它可以,但它不必这样做。

也就是说,纯粹在Web服务器环境中运行预定任务是很棘手的,几乎是不可能的。有多种调度工具(首先想到的是Windows)--但它们主要是面向执行程序的--也就是说,独立程序,EXE。如果您必须在一个Web服务器中运行这段代码,您可以编写一些可执行的独立程序(例如,在JavaScript中使用XMLHTTPRequest,或者cURL调用),这将导致对本地Web服务器的HTTP请求,并安排对任务调度程序中所述脚本的调用。

编辑:调度本身不能也不应该是基于Web的。调度引擎位于Web服务的外部--大多数托管提供商都会在Windows任务计划程序之上提供这样的服务。检查服务器的管理接口(CPanel、RDP或其他什么)。

无论如何,要从调度程序调用网页,请调度以下命令:

代码语言:javascript
运行
复制
cscript.exe c:\SomePath\CallWeb.js

CallWeb.js的情况是这样的:

代码语言:javascript
运行
复制
var xh = new ActiveXObject("Msxml2.XMLHTTP");
xh.open("GET", "http://localhost/mypage.aspx", false);
xh.send();

其中mypage.aspx是提取SonDepremler.aspx的页面,解析、检测更改并发送GCM的。

这是对您的问题#1的答案--您如何在托管的Web服务器环境中进行一些预定的处理。如果你被这个解决方案的其他部分困住了,请分别问一些问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13045795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档