`

记录一下我的p2p的UDP打洞过程【localhost局域网版本】

    博客分类:
  • JAVA
 
阅读更多
MainServer在两个客户端都启动成功之后并且打洞成功之后的log

log4j:WARN No appenders could be found for logger (com.p2p.udp_dig_hole.server.MainServer).
log4j:WARN Please initialize the log4j system properly.
2014-07-19 21:04:12 INFO [com.p2p.udp_dig_hole.server.MainServer] 服务端准备启动!
2014-07-19 21:04:16 INFO [com.p2p.udp_dig_hole.server.MainServer] [StartP2PServiveChanege]我收到一个客户端的连接信息: [ip:127.0.0.1,port:49598 ],content: LOGIN|joy
2014-07-19 21:04:16 INFO [com.p2p.udp_dig_hole.server.MainServer] [dealLogin]客户端请求登录,客户端的信息为:[ip:127.0.0.1,port:49598,nickname:joy]
2014-07-19 21:04:16 INFO [com.p2p.udp_dig_hole.server.MainServer] [dealLogin]向客户端发送信息:LIST_ONLINE|127.0.0.1,49598,joy|
2014-07-19 21:04:21 INFO [com.p2p.udp_dig_hole.server.MainServer] [StartP2PServiveChanege]我收到一个客户端的连接信息: [ip:127.0.0.1,port:49599 ],content: LOGIN|wood
2014-07-19 21:04:21 INFO [com.p2p.udp_dig_hole.server.MainServer] [dealLogin]客户端请求登录,客户端的信息为:[ip:127.0.0.1,port:49599,nickname:wood]
2014-07-19 21:04:21 INFO [com.p2p.udp_dig_hole.server.MainServer] [dealLogin]向客户端发送信息:LIST_ONLINE|127.0.0.1,49598,joy|127.0.0.1,49599,wood|
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] [StartP2PServiveChanege]我收到一个客户端的连接信息: [ip:127.0.0.1,port:49599 ],content: WANT_TO_CONNECT|joy
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] [notifyPunchHole]客户端请求打洞!
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] [notifyPunchHole]客户端的信息为![ip:127.0.0.1,port:49599,nickname:joy]
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] 127.0.0.149599joy
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] [notifyPunchHole]发送信息为![send:PUNCH_HOLE_TO|127.0.0.1|49599]
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] PUNCH_HOLE_TO|127.0.0.1|49599
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] [StartP2PServiveChanege]我收到一个客户端的连接信息: [ip:127.0.0.1,port:49599 ],content: SUCCESS_HOLE_TO|127.0.0.1|49599
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] [notifyPunchHoleSuccess]通知打洞成功!
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] [notifyPunchHoleSuccess]客户端的信息为![ip:127.0.0.1,port:49599]
2014-07-19 21:04:24 INFO [com.p2p.udp_dig_hole.server.MainServer] [notifyPunchHoleSuccess]发送信息为![send:CAN_P2P_TO|127.0.0.1|49599]




客户端joy登录了

Client------------
127.0.0.1|1000|joy
[MainClient]接收到的数据为:[ip:127.0.0.1,port:1000]内容是:LIST_ONLINE|127.0.0.1,49598,joy|
[dealListOnline]要和谁连接(192.168.0.2|1000|xwz),请输入(xxx不连接):



客户端wood登录了,并且请求登录并请求打一个洞到joy那边

Client------------
127.0.0.1|1000|wood
[MainClient]接收到的数据为:[ip:127.0.0.1,port:1000]内容是:LIST_ONLINE|127.0.0.1,49598,joy|127.0.0.1,49599,wood|
[dealListOnline]要和谁连接(192.168.0.2|1000|xwz),请输入(xxx不连接):joy
[dealListOnline]要和谁连接:WANT_TO_CONNECT|joy
[MainClient]接收到的数据为:[ip:127.0.0.1,port:1000]内容是:PUNCH_HOLE_TO|127.0.0.1|49599
[dealPunchTo]发送的报文是:HELLO_MYP2P_FRIEND|打洞
[dealPunchTo]告诉服务器打洞成功:SUCCESS_HOLE_TO|127.0.0.1|49599
[MainClient]接收到的数据为:[ip:127.0.0.1,port:49599]内容是:HELLO_MYP2P_FRIEND|打洞
[MainClient]接收到的数据为:[ip:127.0.0.1,port:49599]内容是:HELLO_MYP2P_FRIEND|打洞
[MainClient]接收到的数据为:[ip:127.0.0.1,port:49599]内容是:HELLO_MYP2P_FRIEND|打洞
[MainClient]接收到的数据为:[ip:127.0.0.1,port:1000]内容是:CAN_P2P_TO|127.0.0.1|49599
[MainClient]接收到的数据为:[ip:127.0.0.1,port:49599]内容是:HELLO_MYP2P_FRIEND|你好






分享到:
评论

相关推荐

    p2p-test[udp打洞测试程序].zip

    本程序实现了linux环境下的udp打洞功能,通过udp打洞实现P2P通信。

    UDP打洞的p2p聊天程序

    UDP打洞技术是一种在NAT(网络地址转换)环境下实现P2P(点对点)通信的方法,尤其在建立直接连接以提高传输效率和降低服务器压力方面显得尤为重要。在这个场景中,我们有一个由服务器和客户端组成的聊天程序,利用...

    p2p UDP打洞 C++程序

    标题中的“p2p UDP打洞 C++程序”是指一种使用C++编程语言实现的、基于UDP协议的P2P(Peer-to-Peer)网络通信技术。P2P网络允许节点之间直接进行通信,而无需通过中心服务器。UDP(User Datagram Protocol)是一种无...

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

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

    java udp 打洞例子(p2p)

    java udp 打洞例子(p2p) .

    P2P UDP打洞测试,没成功

    测试品,在BBS中交流,根据P2P的理论服务端交换客户端IP端口信息然后打洞,可是不知道什么原因没能成功,发送第一个数据包给服务端前先点clean发送,用于清除之前服务端记录的数据,因为只做了简单的两个客户端交换

    P2P打洞 UDP穿墙NAT 源代码

    PeerToPeer打洞 UDP穿墙NAT c源代码

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

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

    UDP打洞的实现代码

    UDP打洞技术是一种在P2P网络中实现端到端通信的方法,特别是在存在网络地址转换(NAT)的环境中。NAT使得私有网络内的设备无法直接与其他网络的设备通信,因为它们都共享一个公共IP地址。UDP打洞通过利用NAT的某些...

    P2P传输UDP打洞源码

    在传输数据时需要进行打洞处理,这样才能进行点对点传输数据,资源文件是通过UDP打洞的源码,使用C++开发,在Windows上验证通过,仅限于学习测试,请勿使用在商业用途上。

    UDP打洞原理,Delphi演示

    UDP打洞解决了这个问题,尤其在P2P(点对点)应用中,如VoIP、在线游戏和文件共享。 首先,我们来了解一下NAT的不同类型: 1. **Full Cone NAT**:这种NAT允许任何外部机器向已打开的端口发送数据,只要该端口是由...

    UDP打洞P2P技术

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

    测试udp打洞

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

    UDP打洞demo

    但是UDP打洞巧妙地利用了NAT的工作原理,使得内网中的设备可以相互找到对方,从而实现P2P(点对点)通信。 在C#中实现UDP打洞,你需要理解以下几个关键概念和步骤: 1. **NAT工作原理**:NAT允许内部网络中的多个...

    UDP协议进行P2P打洞

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

    基于P2P UDP的局域网聊天工具源码

    【标题】"基于P2P UDP的局域网聊天工具源码" 描述了一款使用P2P(点对点)技术并通过UDP(用户数据报协议)进行通信的局域网聊天工具。这款源码提供了深入理解P2P网络和UDP通信在实际应用中的机会,适合开发者学习和...

    udp打洞原理详解

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

    VC P2P UDP打洞终于成功了,泪目

    终于成功打洞了,之前那个失败的估计是因为路由对那个端口的时效性原因,这次修改了接收到服务端返回对方的IP马上向对方IP打洞,感谢bbs上的朋友讨论,服务端暂时还在运行, 使用方法第一方先点start clean,然后...

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

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

    C语言实现UDP打洞代码

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

Global site tag (gtag.js) - Google Analytics