如何从网络服务器向 android 发送请求?
how to send a request from web-server to android?
我正在开发一个聊天应用程序。其中一个用户向另一个用户发送消息。所以有两个用户(user1 和 user2)。当用户 1 向用户 2 发送消息时。在后端,我使用 post 方法将消息发送到我的网络服务器,然后 user2 始终向服务器发送获取请求并接收消息作为响应。这样我的工作就完成了,但我的问题是,是否有任何方法可以将请求从网络服务器发送到 phone?而user2可以直接接收到消息而无需一直向服务器发送请求。请帮忙!
是的,有办法。您可以使用 GCM 将消息发送到 phone。
工作是这样的。
- 使用 gcm 注册这两个设备,并使用唯一的用户 ID 将注册 ID 存储到您的服务器
- 当 user1 向服务器发送一些消息时。然后获取user2的注册id并将msg发送到gcm服务器。
- 用户 2 将自己连接到某个网络时会收到消息。
此链接可能会对您有所帮助
正如@Linesh 上面所说,可能是一种可能的解决方案,但使用 GCM 进行聊天是非常规的;相反,您可以使用标准的网络套接字,它可以在 node.js 或 PHP、Python 中轻松实现,无论您应该使用什么服务器端编程。也基于 websockets ,看看 socket.io or you can make use of some third party chatting API's like quickblox, or pub-nub 甚至 AWS。
使用 100% GCM 的一个很大的缺点是它会把你束缚在 Android 除非你在你的设计中采取额外的步骤来确保你也可以使用其他服务 - 如果实施不当你只能在 Android 部手机之间聊天但不聊天,例如 Android 到 iOS、Windows Phone 到 Android 或 Android到桌面客户端。这最终成为一个重大的不利因素,因为根据我最近看到的统计数据,Android 拥有大约 66% 的市场份额。虽然这听起来很多,但此限制意味着您无法与 1/3 的人聊天。 iOS、Windows 和 Amazon phones/tablets 都使用不同的推送通知服务。 (一个可能的解决方案是使用 AWS SNS Push,它将作为 "matchmaker" 用于不同的推送通知服务;这将在一定程度上提高平台独立性)。
SignalR 是另一种选择。实际上有很多使用它的聊天应用程序示例 - 它实际上似乎是规范示例。
我正在开发一个聊天应用程序。其中一个用户向另一个用户发送消息。所以有两个用户(user1 和 user2)。当用户 1 向用户 2 发送消息时。在后端,我使用 post 方法将消息发送到我的网络服务器,然后 user2 始终向服务器发送获取请求并接收消息作为响应。这样我的工作就完成了,但我的问题是,是否有任何方法可以将请求从网络服务器发送到 phone?而user2可以直接接收到消息而无需一直向服务器发送请求。请帮忙!
是的,有办法。您可以使用 GCM 将消息发送到 phone。
工作是这样的。
- 使用 gcm 注册这两个设备,并使用唯一的用户 ID 将注册 ID 存储到您的服务器
- 当 user1 向服务器发送一些消息时。然后获取user2的注册id并将msg发送到gcm服务器。
- 用户 2 将自己连接到某个网络时会收到消息。
此链接可能会对您有所帮助
正如@Linesh 上面所说,可能是一种可能的解决方案,但使用 GCM 进行聊天是非常规的;相反,您可以使用标准的网络套接字,它可以在 node.js 或 PHP、Python 中轻松实现,无论您应该使用什么服务器端编程。也基于 websockets ,看看 socket.io or you can make use of some third party chatting API's like quickblox, or pub-nub 甚至 AWS。
使用 100% GCM 的一个很大的缺点是它会把你束缚在 Android 除非你在你的设计中采取额外的步骤来确保你也可以使用其他服务 - 如果实施不当你只能在 Android 部手机之间聊天但不聊天,例如 Android 到 iOS、Windows Phone 到 Android 或 Android到桌面客户端。这最终成为一个重大的不利因素,因为根据我最近看到的统计数据,Android 拥有大约 66% 的市场份额。虽然这听起来很多,但此限制意味着您无法与 1/3 的人聊天。 iOS、Windows 和 Amazon phones/tablets 都使用不同的推送通知服务。 (一个可能的解决方案是使用 AWS SNS Push,它将作为 "matchmaker" 用于不同的推送通知服务;这将在一定程度上提高平台独立性)。
SignalR 是另一种选择。实际上有很多使用它的聊天应用程序示例 - 它实际上似乎是规范示例。