【问题标题】:Accepting Request with loading interface (Using CodeIgniter) [closed]使用加载接口接受请求(使用 CodeIgniter)[关闭]
【发布时间】:2013-12-27 07:19:37
【问题描述】:

如果被请求的用户将批准请求,如何提醒发送请求的用户。

可选: 现在向发送请求的用户发出警报。被请求的用户将等待发送请求的用户的验证。

示例 请求在俄罗斯方块战斗 Facebook 上进行战斗。

需要帮助!!

一个小主意会有所帮助!

【问题讨论】:

  • 如果您使用某种 API,那么答案会有所不同。

标签: javascript php jquery ajax codeigniter


【解决方案1】:

好吧,出于您的目的,我认为使用XHR 长轮询 请求会更好(您可以查看this link 的基本教程)。对于您要实现的方案,接下来是:

  1. 每个用户 x 轮询,比如 databasememcache(如果你有 大量用户可供使用)存储;
  2. 当新请求 特定用户x 由用户y 创建,它被插入到您的 存储;
  3. 下次特定用户x 轮询您的存储时,他 会发现对他来说有些新东西——来自用户的请求 y

基本思路是这样,但实际上,即时通知的问题是相当复杂的,确实需要大量的优化技术和正确的实现,所以你的轮询请求不会挂服务器。

您可以尝试的其他方法是 WebSocketsEventSource,但它们比简单的 长轮询 更高级一些。

希望这能让您了解如何实现这一目标,顺便说一下,这个问题与 CodeIgniter 无关。

更新

好吧,如果你有某种在线游戏,你应该对它有更多的了解:) 不久前我在thread 中问过类似的问题,但它真的是关于事件通知服务器实现,使用socketsevent-source;它可能适合您的目的,但是,如果您打算编写真正严肃的东西,请尝试开始使用 WebSockets - 它更高级,但会给您提供功能对于成熟的实时网络系统(至少我认为它会)。

这是一个很好的tutorial,我在感兴趣的时候找到了它,也许对你也有帮助。

关于重定向 - 正确处理来自数据库的一些输出并根据JavaScript 采取相应措施并不是什么大问题 - 在您的情况下重定向两个用户。

【讨论】:

  • 谢谢..但是我需要使用MVC格式..可以使用MVC格式吗?
  • @Zurreal:当然。只需在视图中包含.js 文件,并使用controller-model 处理ajax 请求。没有太大区别。
  • 我明白了..但我的项目的一部分就像战斗或 PVP.. 其中用户 x 将向用户 y 发送请求。是的..请求将存储在数据库中。但我现在想要实现的是,如果用户 Y 接受请求。用户 x 和用户 y 现在都将被重定向到具有数据配置文件的另一个页面。我知道它真的很复杂,很抱歉问这个问题..我真的很新,有兴趣学习。 :)
  • @Zurreal:更新了我的答案。不要忘记将问题标记为“已回答”,如果是这样的话:)
  • 在重定向部分..我怎样才能让其他用户重定向到其他页面? :)
猜你喜欢
  • 2018-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 2018-11-05
  • 2015-03-03
  • 2014-03-04
相关资源
最近更新 更多