我正在尝试做类似omegle的应用程序,它基本上以某种方式连接两个设备,以便它们可以相互通信。
我运行了一些解决方案,例如Socket解决方案(客户端 - 服务器),我甚至实现它只是为了发现如果设备不共享同一网络它不起作用(我的不好,我不喜欢对这些问题有很多了解。)
我想实现它的另一种方式是两个设备不断通过API在我的数据库(在我的服务器上)的“对话”表中检查一行,看看是否有新消息。因此,当有人发送消息时,它会更新该对话行。但是对于看似简单的问题,这个解决方案似乎有点复杂,而且每次对数据库中的更改进行AsyncTask检查似乎都很重要。
所以我想问你们这些人是否采用“标准方式”,或者采用简单的方法来做到这一点。
提前致谢
答案 0 :(得分:0)
我能想到的第一件事(不确定这是否是最好和最正确的方法)是使用Client-Server
创建Sockets
通信。使用这种类型的通信,您的服务器将存储来自(让我们称之为)First User
的消息。之后,您的服务器通过Push-Notifications
向Second User
发送通知,应用程序将其读取并通知用户。所以你可以这样的基本系统:
FirstUser ---- (send message) ---> WebServer
WebServer ---- (push notification) ---> SecondUser
SecondUser ---- (send message) ---> WebServer
WebServer ---- (push notification) ----> FirstUser
因此,在这种情况下,工作由服务器端完成,应用程序将仅从后端发送和接收数据。据我认为这是最好的方法,如果我错了,请纠正我!
希望这有帮助!