Android 哪一个是p2p连接的最佳解决方案

Android 哪一个是p2p连接的最佳解决方案,android,protocols,Android,Protocols,我在考虑开发android应用程序,s/he在哪里 如果客户端“A”请求客户端“B”的位置,则服务器连接客户端“B”,并获取客户端“B”的gps位置和服务器对客户端“A”的响应 应用程序应该在后台工作,但不应该强制移动设备 如果没有请求,客户端和服务器之间应该没有通信。如果有请求,则应停止通信 和Skype或whatsup一样,若客户端在internet上,你们可以在每次通话或发送消息时连接客户端,这样当两个用户都在internet上时,我的应用程序就可以工作了。İ如果请求的客户不在互联网上,则

我在考虑开发android应用程序,s/he在哪里

如果客户端“A”请求客户端“B”的位置,则服务器连接客户端“B”,并获取客户端“B”的gps位置和服务器对客户端“A”的响应

应用程序应该在后台工作,但不应该强制移动设备

如果没有请求,客户端和服务器之间应该没有通信。如果有请求,则应停止通信

和Skype或whatsup一样,若客户端在internet上,你们可以在每次通话或发送消息时连接客户端,这样当两个用户都在internet上时,我的应用程序就可以工作了。İ如果请求的客户不在互联网上,则应用程序应发送最新的已知位置

对于这些问题,我应该使用哪个协议?HttpI认为没有,TCP、XMPP或安卓绑定服务实现了我的方法吗

如何实现我的应用程序方法


谢谢

我不想冒犯你,但我认为你应该从android开发和分布式系统的基础开始。 不过,我的答案是:

您可以使用HTTP,但最好使用HTTPS,以确保数据在服务器和客户端之间加密。 如果我要创建这样一个应用程序,我会在android设备上编写一个小应用程序,将设备的位置以及设备的唯一id(可能是IMEI)传输到服务器,并以HTTPS请求编码

使用HTTP的好处是,您可以在服务器端使用许多不同的语言,例如PHP是我的选择,但您可以使用其他语言。 在服务器端,您需要将接收到的数据放入数据库或其他存储中

在这里,您可以选择要做什么以及如何呈现数据。也许制作一个小网站

问候
Me

使用HTTPS如何连接服务器和客户端?我记得只有客户端可以通过post或get方法连接到服务器。在我的方法中,客户端“A”请求gps数据,服务器连接客户端“B”并获取数据和响应A。在我的knowlodge服务器无法连接到客户端。好吧,我不得不承认我搞错了-抱歉!嗯,这有点棘手,您必须定期从客户端向服务器发送信号。我想我会尝试使用一种叫做UDP打孔的方法:在这里,客户端通过UDP向服务器发送数据包。现在,服务器知道客户端A的发送IP地址和源端口。现在,当客户端B请求客户端A的位置时,它可以在此IP/端口上连接。客户端B也需要这样做,以便在客户端A请求其位置时服务器可以访问。这不是我的解决方案。请仔细阅读我的问题。如果有请求,应该有互联网流量。如果没有请求,客户端和服务器之间就没有通信。就像whatsup和skypeWell一样,这根本不可能。服务器需要知道如何连接到设备。而服务器能够做到这一点的唯一方法就是当设备定期告诉他在哪里可以找到它!例如:有人打固定电话给你,但你不在家。如果打电话的人没有留言,你就不会知道有人打电话来了。需要流动一些信息!实际上skype是按照我描述的方式来做的:通过UDP打孔:客户端A连接服务器。服务器现在知道客户端A的公共ip和端口。现在客户端B连接到服务器,服务器告诉他客户端A的ip和端口。客户端B现在可以连接到客户端A。现在客户端A也知道客户端B的公共ip/端口,他们可以一起通信。然而,现在当一个客户端的ip发生变化时,它需要将其重新传输到服务器,整个握手重新开始。在谷歌上搜索它,伙计,你会发现更多关于它是如何在skype中实现的信息。。。