我正在考虑制作一个网站,该网站最终会在有人玩视频游戏时在后台(或第二个屏幕上)打开。即使浏览器当前没有聚焦,我如何将有界键输入传递给网站?我想避免使用 java applet,但如果这是唯一的方法,我可以这样做。浏览器插件也可以工作,但我们的想法是避免任何用户安装并使其尽可能简单。有什么想法吗?
问问题
71 次
2 回答
0
我猜你只有在页面真正聚焦时才需要这些信息。
- 您可以附加
onactivate
HTML 文档的事件,然后执行 AJAX 调用。div
根据输出设置a或其他的内容; - 使用 Web Sockets 在后台将内容从您的服务器发送到客户端。
您必须先将数据发送到服务器才能使其正常工作。
于 2014-03-29T21:49:25.523 回答
0
实现此目的的一种方法是使用WebSockets
(基本用法示例)。
websocket 将为您提供浏览器和服务器之间的消息传递通道。因此,例如,您的游戏可以调用REST
托管在您的服务器上的服务,该服务会触发一条消息,通过您的用户浏览器连接到的 websocket 发送消息。
基本步骤可能是这样的:
- 用户 1 登录网页,websocket 连接到服务器 A。
- 用户 1 启动游戏
- 游戏向服务器 A 上的 REST 服务发送 http 请求以执行操作,比如说
<server_address>/move/east
- 服务器识别用户 1 的 websocket,并向下发送“向东移动”命令
- 用户 1 的浏览器获取 websocket 上的消息,并适当地更新页面
这不会专注于窃取您的游戏,但会为您提供一种在游戏和用户浏览器会话之间进行通信的相对简洁的方式。我认为这其中最困难的部分可能是您使用什么标识符将用户的游戏会话绑定到用户的浏览器会话,但也许您已经有了某种登录机制可以做到这一点。
这不需要任何类型的插件或 3rd 方扩展,因为如今大多数浏览器都很好地支持 websocket,但是您必须编写一些服务器端代码。
于 2014-03-29T21:54:50.963 回答