gpt4 book ai didi

php - 仅使用 apache、php 和 mysql 实现实时推送消息的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 00:12:07 25 4
gpt4 key购买 nike

我正在尝试为 android 实现一个聊天应用程序(用户可以在其中与处于同一位置的人进行交流)。我在想它是一个面向特定地理区域的 facebook 信使。我遇到了重复拉、 cometd 、波什、websockects、套接字编程、xmpp(需要像 openfire 这样的支持 xmpp 的服务器)等术语来执行此操作。但我的资源是固定的,如 apache、php (codeignter) 和 MySql。我需要找到有效的方法来做到这一点。伙计们,我需要这个。请帮助我。

谢谢,阿比亚

最佳答案

Android 上的首选方法是 Google Cloud Messaging .

Google Cloud Messaging for Android (GCM) is a service that allows you to send data from your server to your users' Android-powered device. This could be a lightweight message telling your app there is new data to be fetched from the server (for instance, a movie uploaded by a friend), or it could be a message containing up to 4kb of payload data (so apps like instant messaging can consume the message directly).

The GCM service handles all aspects of queueing of messages and delivery to the target Android application running on the target device. GCM is completely free no matter how big your messaging needs are, and there are no quotas.

基本上,它是这样工作的:您的服务器与 Google 对话,Google 实时推送消息(或者几乎如此,只要设备开机并连接到互联网) 到 Android 设备。首次安装应用程序时,Android 设备上会发生一个注册过程(并在以后重新验证注册)。 在您的 Android 应用程序中,您有责任将此注册 ID 发送到您的服务器,以便您可以存储它以供将来使用。当您的服务器要向该设备推送消息时,它会使用此注册 ID。

您的服务器与 Google 之间的通信协议(protocol)是基于 HTTPS 的 JSON。您的服务器可以使用任何语言/技术,只要它可以与 Google 的服务器通信即可。一个PHP/MySQL应用绝对可以满足服务的基本要求:

Before you can write client Android applications that use the GCM feature, you must have an application server that meets the following criteria:

  • Able to communicate with your client.
  • Able to fire off HTTPS requests to the GCM server.
  • Able to handle requests and resend then as needed, using exponential back-off.
  • Able to store the API key and client registration IDs.

在客户端,Android 设备必须运行 API 版本 8 (Android 2.2) 或更高版本。当然,您的 Android 应用程序也有责任处理传入的消息(使用 BroadcastReceiver,因为 Android 系统会在消息到达时向您的接收器发送一个 Intent),这使您可以根据需要处理消息。

关于php - 仅使用 apache、php 和 mysql 实现实时推送消息的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com