2011-04-20 69 views
2

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

谢谢!

回答

1

通常,UDP用于P2P音频/视频等应用程序,而不是TCP。 UDP不允许TCP丢弃数据包。对于类似于您所描述的内容,使用SIP之类的协议来协商连接。通过SIP,我向我注册的SIP注册商注册了我的存在。我可能有一个像[email protected]这样的句柄。 SIP注册商位于my.cool.sip.example.com上,并维护所有连接用户及其IP地址的列表。连接请求通过知道如何与用户联系的SIP注册器进行代理。由于注册服务商的所有用户都与其SIP注册服务商进行传出连接,因此不需要防火墙冲突即可初始建立联系。另一个SIP客户端可能有一个名称,如[email protected]。他们将连接到他们的SIP注册商,就像我连接到我的。当他们想与我联系时,他们会发送一条消息给他们的注册商,然后将其转发给我的SIP注册服务商。当我发送回应时,我会将其发送到我的SIP注册服务商,并使用他们的地址发送目的地。我的SIP注册服务商联系他们,他们最终将其转发给客户。

相关问题