为什么网上讲到的P2P打洞基本上都是基于UDP协议的打洞?难道TCP不可能打洞?还是TCP打洞难于实现?假设现在有内网客户端A和内网客户端B,有公网服务端S。如果A和B想要进行UDP通信,则必须穿透双方的NAT路由。假设为NAT-A和NAT-B。A 发送数据包到公网S,B发送数据包到公网S,则S分别            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-16 17:22:48
                            
                                739阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            为什么网上讲到的P2P打洞基本上都是基于UDP协议的打洞?难道TCP不可能打洞?还是TCP打洞难于实现?假设现在有内网客户端A和内网客户端B,有公网服务端S。如果A和B想要进行UDP通信,则必须穿透双方的NAT路由。假设为NAT-A和NAT-B。A 发送数据包到公网S,B发送数据包到公网S,则S分别            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-26 14:32:38
                            
                                2771阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在网络上搜索了下,没有发现简介而全面的相关文章,下面将英文资料中获取的相关只是整理成此片,以飨乡邻。
所用属于和代号。
A : 私网中的主机,设私网IP为192.168.1.2
B : 另一私网中的主机,设私网IP为192.168.245.10
S : 公网中的主机,在此做中间服务器,设IP为223.11.11.11
NAT: Net Address Transmission,在此可以理解为路由器            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-31 11:21:59
                            
                                1713阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在网络上搜索了下,没有发现简介而全面的相关文章,下面将英文资料中获取的相关只是整理成此片,以飨乡邻。所用属于和代号。A : 私网中的主机,设私网IP为192.168.1.2B : 另一私网中的主机,设私网IP为1...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-09-23 17:00:00
                            
                                186阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            为什么需要UDP打洞 处于两个不同局域网的主机不能直接进行UDP通信 UDP"打洞"原理 1. NAT分类 根据Stun协议(RFC3489),NAT大致分为下面四类 1) Full Cone 这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口.然后外网的任何发到这个打开的端口的UDP数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-04-23 18:10:00
                            
                                644阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1, TCP协议通信:现在有两台电脑A和B。在假设A的地址为 192.168.0.100假设B的地址为 192.168.0.102A想给B发送一个字符串Hello, 如果A,B之间采用TCP协议,那么B收到Hello的过程是怎样的呢?首先建立连接(3次握手成功之后,A和B的链接才算成功),然后A在给...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-30 11:45:22
                            
                                1675阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在计算机科学中,UDP打洞指的是一种普遍使用的NAT穿越技术。[编辑]描述通过UDP打洞实现NAT穿越是一种在处于使用了NAT的DP状态            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-09 04:45:15
                            
                                127阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                         
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-23 15:02:06
                            
                                758阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.许多P2P软件比如SKYPE,QQ,电驴之类需要不同内网的两台机子进行通信,而路由器的NAT机制决定了内网访问外网容易,而外网访问内网困难,那如何才能做到这一点呢?有办法------打洞!具体实现方法需要一台服务器,现在假设两台内网PC,A和B想用端口40000通信,网关分            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-18 11:46:46
                            
                                1125阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            两台没有外网 IP、在 NAT 后边的主机如何直连?UDP打洞通常可行,但是需要第三方服务器。方法如下: 在服务器 S 上监听一个 UDP 端口,在收到 UDP 数据包后把源地址发回去。代码如下(github): ?udpaddr123456789101112131415161718192021import sysimport timeimport socketdef main(port):s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.bind(('', port))try:while True:data, addr            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-09-25 09:49:00
                            
                                467阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            client-A  client-B  server-C目的:A想跟B通信1:A与C通信  C获取A的外网IP及端口2:B与C通信  C获取B的外网IP及端口3:A给C获取到B的IP端口发消息(被丢弃)4:B给C获取到A的IP端口发消息(被丢弃)5: 之后A跟B就能直接通信了            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-17 16:04:36
                            
                                828阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            作者:jdh,转载请注明.许多P2P软件比如SKYPE,QQ,电驴之类需要不同内网的两台机子进行通信,而路由器的NAT机制决定了内网访问外网容易,而外网访问内网困难,那如何才能做到这一点呢?有办法------打洞!具体实现方法需要一台服务器,现在假设两台内网PC,A和B想用端口40000通信,网关分别为NATA,NATB.服务器为S,配置如下:A:       &nb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-12-02 00:46:01
                            
                                107阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            现实环境:有两            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-05 12:41:26
                            
                                269阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            建立穿越NAT设备的p2p的TCP连接仅仅比UDP复杂一点点,TCP协议的“打洞”从协议层来看是与UDP
的“打洞”过程非常相似的。虽然如此,基于TCP协议的打洞至今为止还没有被非常好的理解,这也
造成了对其提供支持的NAT设备不是非常多。在NAT设备支持的前提下,基于TCP的“打洞”技术实际上
与基于UDP的“打洞”技术一样快捷、可靠。实际上,仅仅要NAT设备支持的话,基于TCP的p2p技术            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2014-11-04 20:04:00
                            
                                102阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            打洞主要采用的是udp的无面向连接的特性来实现,同过user1连接server,打通user1的对外ip和端口,通过user2连接server,打通uer2对外的ip和端口,然后user1和user2通过彼此已            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-09 04:47:41
                            
                                104阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java UDP打洞编程指南
UDP打洞是一种用于穿越NAT(网络地址转换)设备的技术,常用于P2P(点对点)通信。下面的步骤将教会你如何实现简单的Java UDP打洞编程。
## 整个过程概述
打洞的基本流程如下表所示:
| 步骤 | 描述 |
|------|------|
| 1    | 客户端和服务器建立UDP连接 |
| 2    | 服务器记录双方的IP地址和端口 |
|            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-09-18 05:39:42
                            
                                169阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            UDP协议在有些应用程序中,保持最快的速度比保证每一位数据都正确到达更重要。例如,在实时音频或视频中,丢失数据包只会作为干扰出现。干扰是可以容忍的,但当TCP请求重传或等待数据包到达而它却迟迟不到时,音频流中就会出现尴尬的停顿,这让人无法接受的。在其他应用中,可以在应用层实现可靠性传输。例如:如果客户端向服务器发送一个短的UDP请求,倘若制定时间内没有响应返回,它会认为这个包已丢失。域名系统就是采            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-14 15:14:56
                            
                                76阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            import java.net.*;
/*
通过UDP传输发送文字数据
1.建立socket服务
2.提供数据,并封装到数据包中
3.通过sokect服务的发送功能,将数据包发送出去
4.关闭资源
*/
class udpsend
{
    public static void main(String[] arg) throws Exception {
        //1.创建UDP服务。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-07 16:41:33
                            
                                148阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            要想了解UDP在java中的使用,首先我们得先要了解下UDP协议:  UDP是一种高速,无连接的数据交换方式。在有些应用程序中,保持最快的速度比保证每一位数据都正确到达更重要。例如,在实时音频或视频中,丢失数据包只会作为干扰出现。干扰是可以容忍的,但当TCP请求重传或等待数据包到达而它却迟迟不到时,音频流中就会出现尴尬的停顿,这让人无法接受的。在其他应用中,可以在应用层实现可靠性传输。例如:如果客            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-03 22:59:23
                            
                                90阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            大家都知道java中的socket网络编程,而其采用的协议分别有tcp和udp协议两种.通常的理解tcp协议类似于打电话,udp类似于发短信.前者是线程安全的,但是效率比较低.后者则刚好相反.今天就做个demo来了解一下udp网络编程.首先是客户端:package javasocket.demo;
import java.net.DatagramPacket;
import java.net.D            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-04 21:57:13
                            
                                73阅读