p2p点对点传输,需要解决的问题:
1、当客户端连接服务器,提拔为独立IP+映射端口。
2、拿到IP+端口给它发送信息,会被拦截,只有请求的服务器才能回消息,逻辑上会回到本地,拦截是出于安全考虑。
3、p2p传输,需要解决的就是这个问题。如何让其他计算机与这个计算机通信?
出现的问题、图示:
如果让右边的客户与左边的客户建立通信了,那么就可以让左边的客户,与更多的客户建立连接。
如何打洞?
发个数据包,被对方拦截,但自己网关会记录对方IP+端口,对方通过IP+端口可以给我们发消息,当对方一发,我们就收到消息。消息一通,两个处于内网的计算机,就能够使用记录的IP+端口进行直接通信。
研究了一下午,资料语义不详、缺斤短两,浪费时间。解决过程:
步骤1、让客户都上池子,得到独立IP+映射端口:
步骤二、服务器将客户池中的IP都传给客户(是客户自己过滤):
客户端会收到除了自己以外,所有与服务器连