使用 WebRTC 的点对点 (P2P) Android 聊天应用程序(通过互联网)

问题描述 投票:0回答:2

我知道这听起来有点傻(我对原生 android 和网络东西很陌生),但我想构建一个对等 2 对等 Android 聊天应用程序(通过互联网),其中聊天负载不应通过服务器。我读过很多关于网络模型及其实现方法的文章。

我知道当您想要构建此类应用程序时,套接字连接是一种解决方案,但它只能在同一网络上工作。当你希望它在互联网上工作时,你需要添加 NAT 穿越、打洞或端口转发,据我所知,这似乎不切实际。

然后我从这里看到了WebRTC如何利用信令服务器、STUN服务器和最后一个选项,即TURN服务器(最终,我们通过它传递数据)来完成这项工作。我只能将 DataChannel 用于聊天功能。我知道对于信令服务器,我们可以利用 Firestore 之类的东西(就像 he 所做的那样),并且我们可以公开访问一些 STUN 和 TURN。

我的问题是使用WebRTC协议开发聊天应用程序是正确的方法吗?根据我从 WebRTC 视频音频流中了解到的情况,它要求两个对等点同时在线。我走在正确的轨道上吗?或者我应该返回使用客户端-服务器模型实现原始方式,然后对消息应用 p2p 加密。如果您也提到我在哪里可以学习实现这些东西,例如教程、文档。

如有任何建议,我们将不胜感激,提前谢谢。

android webrtc p2p webrtc-android
2个回答
0
投票

简短回答

客户端-服务器模型比 WebRTC 更实用,可以开发短信应用程序。但如果你想包括音频视频通信,那么使用WebRTC。但不要将 WebRTC 用于所有这三个功能。

PS:您可以使用 WebRTC 开发短信应用程序,但接收器有时可能会收到损坏的数据。


0
投票

答案是:

科技巨头和 ISP 不想要任何类型的 P2P 通信渠道。

所有消息必须通过静态 IP 地址设备传输。他们说 IPv4 缺少 IP 地址,他们必须对我们进行 NAT 来保护我们。

我们甚至无法通过应用程序从一部手机向另一部手机发送短信。

IPv6 于 1999 年准备就绪,但从未起飞。我们每个人可以拥有数千个 IP 地址。

© www.soinside.com 2019 - 2024. All rights reserved.