2012-03-19 148 views
0

我正在建立一个android应用程序,我希望应用程序共享信息的所有用户都会在我的服务器中抛出一个php脚本。
例如:我有一个谷歌地图,我想看到我所有的朋友的位置。 我的应用程序的每个用户将每隔几秒钟将他的当前位置发送到php脚本(服务器)。
我想要PHP脚本发回给每个用户,他的所有朋友的位置。 这样做的最好方法是什么?
安卓远程服务器

我想的很少,而且会很乐意得到帮助启动它们:
1.我应该只发送请求到服务器,并在同一请求得到的回报答案,这将包括所有我的朋友的位置?
2.我应该使它成为双向通信(使用套接字也许?),并且每当服务器得到更新时,他将它发送给所有用户? (我甚至不知道如何开始做吧..)
3.如果我使用的2号,我应该有某种事件侦听器将等待并看看是否有来自服务器的新的消息?

回答

0

第一种方法可能会更容易实现。

每一位朋友,同时更新他的位置将数据发送到可以存储在MySQL数据库服务器。也许当一个人更新一个位置时,推送通知可以发送给他的每个朋友(c2dm推送通知很容易和有效)。一旦用户获得推送通知,它就会向服务器发出一个请求,并以相同的响应获取必要的数据。这是一个简单可靠的方法。

得到的答复是征求意见太长,所以我把它放在这里。 回答你的问题: 1.当你发送你的位置时,你的朋友应该被通知。所以你更新和检索MySQL数据不会达到目的。你的朋友应该知道,他们有时间从mysql检索值。因此推送通知给你的朋友。

  1. 对于一百万用户,如果您希望使用推送通知,您可能需要购买适当的计划。一些数据可以与推送通知一起发送,如果该数据量足够满足您的需求,则可能不需要客户端与服务器建立连接就可以检索数据。从而消除服务器的负载。如果数据量太大,那么你的客户端将不得不联系服务器。在这种情况下,您的服务器应该能够响应最多1,000,000个用户(罕见)http请求。这我不知道,如果你的服务器能够处理

我希望答案帮助。询问你是否有任何进一步的疑问。

+0

谢谢Anurag!我有2个问题: 1.为什么我需要推?我不能只写一个更新mysql的方法,并以相同的方法获取其他人的当前位置并发送它作为回报? 无论如何,我将有很多电话的脚本,我想把它设置为最小.. 2.这种方法是有用的1,000,000用户? – 2012-03-19 14:30:11

+0

回答您的问题: – 2012-03-19 14:40:57

+0

假设我的服务器可以处理这种数据传输的,最好的方法是重复发送数据给它.. 如果我理解你的权利,只要没有更新,不会有数据传输在服务器和应用程序之间..只有当服务器得到更新时,它才会告诉用户连接并获取更新的信息。 有没有我可以得到这个推技术的教程? – 2012-03-19 15:11:22