Javascript 如何在服务器不运行时等待';你没反应吗?
我正在建立一个用户之间的互动网页,我有点迷路了 欢迎任何指导 想象一下以下场景:Javascript 如何在服务器不运行时等待';你没反应吗?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在建立一个用户之间的互动网页,我有点迷路了 欢迎任何指导 想象一下以下场景: 客户端A打开“公共”网页并按下按钮 客户端A开始等待客户端B的响应 客户端B进入“管理员”网页并按下按钮 客户端A接收到客户端B按下按钮的信息 有一个页面的总体想法是客户端a可以点击一个按钮“我准备好玩了”并开始等待客户端B的响应。客户端B收到通知并按下按钮“我也准备好了”。客户端A收到通知,告知客户端B也准备好了 我知道这可以通过AJAX实现。但我不确定如何“等待”客户端B的响应,并在响应到达时更新网页 欢迎
- 客户端A打开“公共”网页并按下按钮
- 客户端A开始等待客户端B的响应
- 客户端B进入“管理员”网页并按下按钮
- 客户端A接收到客户端B按下按钮的信息
- 例如,由于互联网连接问题,该命令可能永远不会到达
- 服务器可能已关闭
- 服务器可能会错误地执行您的命令,并且永远不会响应
- 其他玩家可能永远不会收到消息
- 另一个玩家可能永远不会回答这个消息
- 服务器可能永远不会收到其他玩家的命令
- 服务器可能会错误地发出其他玩家的命令
- 服务器可能永远不会向您发送通知
- 您可能永远不会收到通知
setTimeout
和AJAX请求定期向服务器发出请求,一旦响应通知您游戏已被接受,请相应地进行处理。见:
提醒推送
一旦发生事件,服务器可能会向用户发送通知。见:
但您可能希望使用与服务器上使用的内容兼容的内容
网袋
WebSocket是保持打开的双工通道。如果实现并支持该框架,那么客户端A和客户端B都将连接,客户端A将通过WebSocket发送命令,服务器将接收该命令并通过WebSocket通知客户端B。当客户机B决定接受质询时,他将单击按钮,该按钮将通过WebSocket向服务器发出自己的命令,服务器将通过WebSocket通知客户机a。见:
总结
最好将其视为一系列事件和事件处理程序,而不是等待响应。:短轮询、长轮询和web-sockets.WebRTC是另一种方法,正如Alexander提到的,您要关注的技术术语是轮询。WebSocket可能会帮到你。轮询看起来像我需要的,我正在研究它并寻找一个示例代码。如果你们中有人有可以共享的示例代码,欢迎:)