`

记录一下我的p2p的UDP打洞过程【云服务器公网版本】

    博客分类:
  • JAVA
 
阅读更多
服务端连接了成功处理了两个客户端的登录并且成功打洞后的log记录



2014-07-19 22:41:20 INFO [com.p2p.udp_dig_hole.server.MainServer] 服务端开始启动!
2014-07-19 22:41:25 INFO [com.p2p.udp_dig_hole.server.MainServer] [StartP2PServiveChanege]我收到一个客户端发送的信息: [ip:14.20.224.132,port:42332 ],content: LOGIN|wood
2014-07-19 22:41:25 INFO [com.p2p.udp_dig_hole.server.MainServer] 进入了[dealLogin]方法-处理登陆请求.
2014-07-19 22:41:25 INFO [com.p2p.udp_dig_hole.server.MainServer] [dealLogin]向客户端返回当前所有用户的登录列表,其数据为:LIST_ONLINE|14.20.224.132,42332,wood|
2014-07-19 22:41:41 INFO [com.p2p.udp_dig_hole.server.MainServer] [StartP2PServiveChanege]我收到一个客户端发送的信息: [ip:14.20.224.132,port:42354 ],content: LOGIN|joy
2014-07-19 22:41:41 INFO [com.p2p.udp_dig_hole.server.MainServer] 进入了[dealLogin]方法-处理登陆请求.
2014-07-19 22:41:41 INFO [com.p2p.udp_dig_hole.server.MainServer] [dealLogin]向客户端返回当前所有用户的登录列表,其数据为:LIST_ONLINE|14.20.224.132,42332,wood|14.20.224.132,42354,joy|
2014-07-19 22:43:00 INFO [com.p2p.udp_dig_hole.server.MainServer] [StartP2PServiveChanege]我收到一个客户端发送的信息: [ip:14.20.224.132,port:42354 ],content: WANT_TO_CONNECT|14.20.224.132|41960|wood
2014-07-19 22:43:00 INFO [com.p2p.udp_dig_hole.server.MainServer] 进入了[notifyPunchHole]方法-通知打洞.
2014-07-19 22:43:00 INFO [com.p2p.udp_dig_hole.server.MainServer] [notifyPunchHole]给客户端返回信息:[PUNCH_HOLE_TO|14.20.224.132|42354]
2014-07-19 22:44:12 INFO [com.p2p.udp_dig_hole.server.MainServer] [StartP2PServiveChanege]我收到一个客户端发送的信息: [ip:14.20.224.132,port:42332 ],content: WANT_TO_CONNECT|14.20.224.132|42354|joy
2014-07-19 22:44:12 INFO [com.p2p.udp_dig_hole.server.MainServer] 进入了[notifyPunchHole]方法-通知打洞.
2014-07-19 22:44:12 INFO [com.p2p.udp_dig_hole.server.MainServer] [notifyPunchHole]给客户端返回信息:[PUNCH_HOLE_TO|14.20.224.132|42332]
2014-07-19 22:44:12 INFO [com.p2p.udp_dig_hole.server.MainServer] [StartP2PServiveChanege]我收到一个客户端发送的信息: [ip:14.20.224.132,port:42354 ],content: SUCCESS_HOLE_TO|14.20.224.132|42332
2014-07-19 22:44:12 INFO [com.p2p.udp_dig_hole.server.MainServer] 进入了[notifyPunchHoleSuccess]方法-通知打洞成功.
2014-07-19 22:44:12 INFO [com.p2p.udp_dig_hole.server.MainServer] [notifyPunchHoleSuccess]给客户端返回信息:[CAN_P2P_TO|14.20.224.132|42354]





客户端joy登录了。

我是客户端,我的身份是:182.254.141.29|1000|joy
[MainClient]我收到了一份数据,内容是:[ip:182.254.141.29,port:1000]内容是:LIST_ONLINE|14.20.224.132,42332,wood|14.20.224.132,42354,joy|
[dealListOnline]请问客户端您要和谁连接(192.168.0.2|1000|xwz),请输入(xxx不连接):14.20.224.132|41960|wood
[dealListOnline]哦,知道了,你想连接:WANT_TO_CONNECT|14.20.224.132|41960|wood
[dealListOnLine]我已经向服务器发送了:WANT_TO_CONNECT|14.20.224.132|41960|wood
[MainClient]我收到了一份数据,内容是:[ip:182.254.141.29,port:1000]内容是:PUNCH_HOLE_TO|14.20.224.132|42332
[dealPunchTo]原来是请求打洞,我接下来发送报文:HELLO_MYP2P_FRIEND|打洞
[dealPunchTo]告诉服务器打洞成功:SUCCESS_HOLE_TO|14.20.224.132|42332
[MainClient]我收到了一份数据,内容是:[ip:14.20.224.132,port:42332]内容是:HELLO_MYP2P_FRIEND|你好,我是wood



客户端wood登录了,并且请求向joy打洞成功

我是客户端,我的身份是:182.254.141.29|1000|wood
[MainClient]我收到了一份数据,内容是:[ip:182.254.141.29,port:1000]内容是:LIST_ONLINE|14.20.224.132,42332,wood|
[dealListOnline]请问客户端您要和谁连接(192.168.0.2|1000|xwz),请输入(xxx不连接):14.20.224.132|42354|joy
[dealListOnline]哦,知道了,你想连接:WANT_TO_CONNECT|14.20.224.132|42354|joy
[dealListOnLine]我已经向服务器发送了:WANT_TO_CONNECT|14.20.224.132|42354|joy
[MainClient]我收到了一份数据,内容是:[ip:14.20.224.132,port:42354]内容是:HELLO_MYP2P_FRIEND|打洞
[MainClient]我收到了一份数据,内容是:[ip:14.20.224.132,port:42354]内容是:HELLO_MYP2P_FRIEND|打洞
[MainClient]我收到了一份数据,内容是:[ip:14.20.224.132,port:42354]内容是:HELLO_MYP2P_FRIEND|打洞
[MainClient]我收到了一份数据,内容是:[ip:182.254.141.29,port:1000]内容是:CAN_P2P_TO|14.20.224.132|42354

分享到:
评论

相关推荐

    P2P之UDP打洞穿透NAT的源代码

    UDP打洞技术是一种在NAT(网络地址转换)环境下实现P2P(点对点)通信的方法。在NAT环境中,内部网络的设备通常没有全局唯一的公网IP,而是通过一个公共IP来对外通信,这就导致了两个处于NAT后的设备无法直接通信。...

    P2P打洞(TCP ,UDP 公网)shhxkl.zip

    在C++实现的UDP打洞过程中,首先需要一个服务器作为中介,这个服务器通常放置在公网,拥有固定的IP地址。客户端A和B分别位于不同的NAT内部,它们无法直接通信。当A和B想要通过UDP进行通信时,会先向服务器发送请求,...

    UDP P2P打洞服务器

    UDP P2P打洞服务器是一种网络通信技术,用于在NAT(网络地址转换)环境下实现两个私有IP地址之间的直接通信。NAT通常用于保护内部网络,并为公共互联网提供一个公共IP地址。然而,NAT会阻止两个内网主机直接通信,...

    java udp p2p nat 等打洞技术实现通信,已测试成功

    UDP打洞技术是一种在NAT(网络地址转换)环境下实现P2P(点对点)通信的方法,尤其在处理子网间通信时非常有用。在Java中,我们可以利用其强大的网络编程API来实现这一功能。以下是对这个技术的详细解释。 ### UDP...

    UDP打洞demo

    2. **UDP打洞的原理**:UDP打洞的基本思想是,让两个内网中的设备分别向对方的公网IP发送UDP数据包。由于NAT会记住发送者的公网/私网映射,当另一端的设备回应时,NAT会自动将数据包转发到正确的内网设备。 3. **...

    UDP打洞P2P技术

    UDP打洞P2P技术是互联网通信中一种用于穿透网络地址转换(NAT)的技术,它使得两个位于不同NAT后的设备能够直接通信,而无需通过中心服务器作为中介。这一技术在实现点对点(P2P)应用,如文件共享、实时通信和在线...

    UDP协议进行P2P打洞

    P2P UDP打洞的过程通常包括以下步骤: 1. 客户端首先登录服务器,服务器记录下客户端的公网地址和端口。 2. 客户端发送一个带有其内网地址和端口的数据包到服务器,服务器转发这个数据包到目标客户端。 3. 目标...

    udp 打洞示例代码 包含服务器 客户端

    UDP打洞技术是一种在NAT(网络地址转换)环境下实现两个私有网络内的主机之间直接通信的方法。在互联网上,许多设备由于连接到ISP时采用了NAT,它们的公网IP实际上是路由器分配的内部IP,因此不能直接与其他网络的...

    UDP打洞原理,Delphi演示

    总的来说,UDP打洞是通过公网服务器作为中介,利用特定类型的NAT规则来实现在NAT之后的设备间的直接通信。这一技术对于克服P2P应用中的网络障碍至关重要。在Delphi等编程环境中,可以通过创建和管理UDP套接字,结合...

    测试udp打洞

    标题中的“测试udp打洞”指的是利用UDP协议进行P2P(Peer-to-Peer)网络穿透技术的测试。P2P技术允许网络上的设备直接通信,而无需通过中心服务器,从而节省带宽并提高效率。UDP(User Datagram Protocol)是一种无...

    C语言实现UDP打洞代码

    UDP打洞技术是一种在NAT(网络地址转换)环境下实现两个私有IP地址之间直接通信的方法,常用于P2P(点对点)通信。在本文中,我们将深入探讨C语言实现UDP打洞的原理、步骤以及代码实现的关键点。 首先,理解UDP打洞...

    linux下基于UDP的P2P打洞示例程序

    总之,这个示例程序提供了在Linux环境下基于UDP的P2P打洞实践,通过服务器协助,使内网的P2P客户端能够直接通信。学习并理解这一技术,对于开发分布式系统、实时通信应用(如VoIP、视频会议)等具有重要意义。

    p2p聊天程序,mfc中udp打洞实例

    在MFC中实现UDP打洞是一项技术挑战,因为UDP本身不提供端到端的连接建立机制,而P2P通信往往需要穿越NAT(网络地址转换)设备。下面将详细讲解这个主题。 首先,我们来看P2P聊天程序的核心概念。P2P网络中的每个...

    易语言打洞客户端源码,易语言打洞测试服务器源码,易语言P2P打洞

    UDP打洞利用了UDP协议的无状态特性,通过向公网服务器发送数据包,公网服务器可以作为中继,帮助两个内网设备发现彼此的公网映射。TCP打洞则更复杂,因为TCP连接需要经过三次握手建立,但在特定条件下也可以实现。 ...

    UDP打洞(有心跳包和断网自动连接功能)

    UDP打洞正是为了解决这一问题,使得两个处于NAT后的设备能够直接通信,而无需中间服务器作为中介。 在这个场景中,C++编写的应用程序包括一个UDPSessionServer和一个UDPSessionClient,分别代表服务器端和客户端。...

    udp打洞原理详解

    ### UDP打洞原理详解 随着互联网的不断发展以及IPv4地址资源的日益紧张,NAT(Network Address Translation,网络地址转换)设备被广泛应用于解决IP地址不足的问题。然而,NAT设备的存在导致了P2P(Peer-to-Peer,...

    udp打洞源码服务端和客户端C# 实现

    UDP打洞技术是一种在NAT(网络地址转换)环境下实现两个私有网络主机之间直接通信的方法,常用于P2P应用、多人在线游戏等场景。本文将深入探讨C#实现的UDP打洞服务端和客户端的关键知识点。 1. **UDP基础**: UDP...

    C#实现UDP打洞

    具体而言,UDP打洞依赖于一种被称为“反射”的机制,即通过第三方服务器(通常称为STUN服务器)来帮助识别参与通信的两个设备的真实IP地址和端口号,然后这些设备就可以尝试直接向对方发送UDP数据包,从而绕过NAT...

    delphi实现p2p打洞udp协议的实例!

    在Delphi编程环境中,开发P2P打洞UDP协议的实例可以帮助开发者理解如何在不依赖中心服务器的情况下建立两端之间的通信。 首先,我们需要理解P2P打洞技术。P2P打洞,也称为NAT穿透,是为了让位于NAT(Network ...

    Netty UDP协议网络打洞实例

    在UDP打洞中,设备A向STUN/TURN服务器发送请求,服务器会返回A的公网IP和端口信息,然后设备B可以通过这个信息向A发送数据。 在Netty中,实现UDP打洞的关键步骤如下: 1. **创建Netty Channel**: 首先,我们需要...

Global site tag (gtag.js) - Google Analytics