如何在两部手机之间建立p2p连接?

时间:2011-04-20 19:47:32

标签: android

我只想为andorid编写一个应用程序,它与iphone或skype的视频上的facetime非常相似。只想实现P2P连接进行视频传输和显示。是否有人有一些相关的文件或代码。我想知道的一件事是如何在两部手机之间建立p2p连接?只需要IP地址建立TCP连接或我需要一些其他信息。而且,如果两个手机不在同一个局域网中或者它们之间有防火墙,我该怎么办呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

通常,UDP用于P2P音频/视频等应用,而不是TCP。 UDP容忍TCP没有丢弃的数据包。对于类似于您描述的内容,使用SIP之类的协议来协商连接。通过SIP,我在SIP注册商处注册我的存在,这是我出现的地方。我可能有像user@my.cool.sip.example.com这样的句柄。 SIP注册器位于my.cool.sip.example.com上,并维护所有连接用户及其IP地址的列表。通过SIP注册器代理连接请求,SIP注册器知道如何联系用户。由于注册商的所有用户都与其SIP注册商建立了外向连接,因此最初建立联系时无需进行防火墙打孔。另一个SIP客户端可能具有类似user2@their.favorite.sip.example.com的名称。他们将连接到他们的SIP注册商,就像我连接到我的。当他们想与我联系时,他们会向他们的注册商发送消息,然后将其转发给我的SIP注册商。当我发回回复时,我将其发送到我的SIP注册商,其目的地使用他们的发件人地址。我的SIP注册商联系他们,最终将其转发给客户。