我只是想为andorid 编写一个应用程序,它非常类似于iphone 上的facetime 或skype 的视频。只是想为视频传输和显示实现一个 P2P 连接。是否有人拥有相关的文档或代码。还有一件事我想知道的是如何在两部手机之间建立p2p连接?只需要 IP 地址来建立 tcp 连接,或者我需要一些其他信息。另外,如果两部手机不在同一个 LAN 中或它们之间有防火墙,我该怎么办?
谢谢!
最佳答案
通常,UDP 用于 P2P 音频/视频等应用程序,而不是 TCP。 UDP 容忍丢弃的数据包,而 TCP 则不能。对于类似于您所描述的内容,使用 SIP 等协议(protocol)来协商连接。使用 SIP,我向 SIP 注册商注册我的存在,这是我出现的地方。我可能有一个像 user@my.cool.sip.example.com 这样的句柄。 SIP 注册器位于 my.cool.sip.example.com 上并维护所有附加用户及其 IP 地址的列表。连接请求通过知道如何联系用户的 SIP 注册器代理。由于注册商的所有用户都与他们的 SIP 注册商建立了传出连接,因此最初建立联系不需要防火墙穿孔。另一个 SIP 客户端的名称可能类似于 user2@their.favorite.sip.example.com。他们将连接到他们的 SIP 注册器,就像我连接到我的一样。当他们想联系我时,他们会向他们的注册商发送一条消息,然后再将消息转发给我的 SIP 注册商。当我发回响应时,我将其发送到我的 SIP 注册商,并使用他们的发件人地址作为目的地。我的 SIP 注册商联系他们的注册商,后者最终将其转发给客户。
关于android - 如何在两部手机之间建立p2p连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5735787/