首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网站远程控制

网站远程控制
EN

Stack Overflow用户
提问于 2013-05-04 09:31:56
回答 1查看 3.1K关注 0票数 3

我想开始创建一个在手机上打开的网站(任何类型的智能手机)。此网站将具有控制您已经在您的计算机上打开的网站的功能。(2011年推出的大众新世纪甲壳虫( Volkswagen New Century Beetle )有这样的功能,我可以通过智能手机在桌面电脑上打开的网站上滚动)

我们有一个用于马匹视频的流媒体网站,对于我们的客户来说,这将是一个非常棒的功能,如果他们能够通过iphone/android/wp观看智能电视上的流媒体和控制。

此外,来自瑞士的wilmaa.com为智能手机提供了一个遥控器,可以在智能电视/网页浏览器上在我的网站上导航。

因为我需要一个起点来了解它是如何工作的,我正在检查Google,也许已经有任何遥控器了,但不幸的是我什么也找不到。

也许Stack溢出可以帮助我,给出一些如何实现这一点的起点。

EN

回答 1

Stack Overflow用户

发布于 2013-05-04 09:44:09

要做到这一点,您需要某种“推送”服务,以克服HTTP固有的缺点,即它一直是‘只拉’系统--客户机启动一个请求,服务器回答。在这种情况下,您希望将事件从服务器推送到客户端。

在过去的几年里,这种做法一直被称为“长时间投票”。这意味着您“滥用”了浏览器中保护服务器不挂起请求的机制,但允许它们占用一段时间。默认情况下,Apache被配置为允许请求在大多数平台上持续300秒。长轮询是通过发送Ajax请求来工作的,如果服务器没有数据,而不是发送回数据,它只是等待,直到它有数据,或者一分钟等了很长时间。客户端在收到响应之前不会发送新请求。这给最终用户带来了实时反馈的错觉,Facebook等网站多年来就是这样做的。

从几个月以来,还可以使用一种新的HTML5技术,它现在在所有主要浏览器上都有稳定的实现: Websockets。该技术允许服务器将公共拉请求升级为完全双向连接,从而允许浏览器和服务器之间进行实时通信。遗憾的是,像Apache这样的“常规”with服务器并不是真正为这种逻辑而构建的,尽管可以通过像棘轮这样的框架来模仿它。对于系统的实时部分,大多数站点选择的当前平台(包括这里的堆栈溢出)是node.js -服务器端异步Javascript。

在你的情况下,我建议:

  • 将一个单独的node.js服务器设置为一个事件分发程序(您可以在亚马逊以每月15美元的价格获得一个廉价的微型EC2实例,这可能就足够了,而且非常具有可伸缩性)
  • 将所有其他代码保存在当前的常规环境中,只需添加与事件分派程序通信的逻辑即可。
  • Socket.io部署为您的websocket处理服务。它简化了服务器端和客户端的所有Javascript逻辑,并以一种与IE5.5兼容的方式封装了一个实时连接,它优雅地降低了服务器和客户端支持的技术- websockets在最近的浏览器、长轮询或遗留系统上的其他技术。

有了这个解决方案,您可以很容易地实现一个系统,相对较少的代码,具有完全的实时响应跨多个平台,如您所述。

至于控制应用程序本身,只要使用HTML5,与Phonegap,如果你打算分发到应用商店。

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

https://stackoverflow.com/questions/16372771

复制
相关文章

相似问题

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