首先我明白它不会是一个纯粹的p2p功能,它根本不是套接字,出于安全和DDOS的目的。
但是我很难搞清楚提供,答案,SDP,ICE,STUN等等。看起来像很多抽象和要求。
这是否意味着总是需要一个网站集中IP地址?
是否难以实施DHT?
我认为它本来就是某种类型的套接字,但它看起来非常不同而且更复杂。
答案 0 :(得分:1)
您仍然需要一些中央服务器来建立对等体之间的连接。
服务器应该提供一些信令传输 - 它可以是websockets,谷歌appengine频道,或一些手工制作的东西。在建立p2p连接之前,客户端将使用此传输与服务器进行通信。
此外,您需要一些STUN服务器来支持NAT遍历功能 - 适用于在NAT后工作的客户端(即家庭/办公室网络路由器)。您可以使用一些开源实现来安装自己的STUN服务器。或者您可以使用Google的STUN服务器。
实际上,所有这些信息一般对WebRTC有效,但特别适用于RTCDataChannel。
在这里,您可以找到如何使用DataChannel的好例子:https://github.com/muaz-khan/WebRTC-Experiment/tree/master/DataChannel
在这里,您可以找到使用Erlang和Websockets进行信号协议的视频聊天示例:https://github.com/fycth/webrtcexample