p2p点对点传输,需要解决的问题:
1、当客户端连接服务器,提拔为独立IP+映射端口。
2、拿到IP+端口给它发送信息,会被拦截,只有请求的服务器才能回消息,逻辑上会回到本地,拦截是出于安全考虑。
3、p2p传输,需要解决的就是这个问题。如何让其他计算机与这个计算机通信?
出现的问题、图示:

如果让右边的客户与左边的客户建立通信了,那么就可以让左边的客户,与更多的客户建立连接。
如何打洞?
发个数据包,被对方拦截,但自己网关会记录对方IP+端口,对方通过IP+端口可以给我们发消息,当对方一发,我们就收到消息。消息一通,两个处于内网的计算机,就能够使用记录的IP+端口进行直接通信。
研究了一下午,资料语义不详、缺斤短两,浪费时间。解决过程:
步骤1、让客户都上池子,得到独立IP+映射端口:

步骤二、服务器将客户池中的IP都传给客户(是客户自己过滤):

客户端会收到除了自己以外,所有与服务器连

本文探讨了Java中实现点对点(P2P)传输时遇到的挑战,包括内网穿透问题。通过详细步骤解释了如何让内网中的计算机互相通信,涉及IP映射、数据包拦截及打洞技术。最后,举例说明了两个在同一计算机上的不同程序如何利用外网IP和端口建立连接,实现了点对点通信,强调了该技术在多点间传输文件时的复杂性。
最低0.47元/天 解锁文章
1210

被折叠的 条评论
为什么被折叠?



