37得票2回答
3G网络上的UDP洞穿无法实现

我正在尝试在软件中实现洞穿功能,但问题是我已经使用已有的TCP服务器与用户进行通信。 这是我目前的进展: "A" 向UDP服务器 "US"(端口9333)发送一条消息 "US" 返回连接到的端口(本地端口 31005)给 "A" "A" 向TCP服务器 "TS" 发送一条消息,表示他想要...

36得票4回答
Java UDP打洞示例 - 通过防火墙连接

假设我有两台计算机。 它们通过 ice4j 知道彼此的公网IP和私有IP。 一个客户端正在监听,另一个客户端正在发送一些字符串。 我希望通过UPD打洞来实现这个过程:Let A be the client requesting the connection Let B be the c...

27得票5回答
UDP打洞实现

我正在尝试实现UDP打洞。我基于这篇文章和WIKI页面上的理论,但是在C#编码方面遇到了一些问题。以下是我的问题: 使用在这里发布的代码后,我现在能够连接到远程机器并在同一个端口上监听传入连接(将2个UDP客户端绑定到相同的端口)。 由于某种原因,同一端口上的两个绑定会互相阻塞,从而导致...

27得票5回答
什么是p2p穿透技术?为什么它很难实现?

我正在尝试进行一些p2p网络的实验。在做了一些研究后,我发现最大的障碍之一是"如果客户端在NAT/防火墙后面怎么办",后来我发现了关于Hole Punching的知识,但它并不总是能保证成功。 就我所理解的而言,我不明白为什么它可能会失败,这是我目前所知道的: 根据上图,这是我理...

25得票2回答
如何模拟不同的NAT行为

我正在使用UDP和UDT进行打洞技术的研究。为了进行最终测试,我需要在不同类型的NAT(对称型、全锥型、限制锥型、端口限制型)下测试应用程序。 是否有任何方法可以模拟这些类型的NAT?我期望得到一种类似于虚拟机的设置。我能否将PC用作路由器,以便按照我的需求进行配置? 通常情况下,我们如何...

20得票2回答
UDP打洞算法

有人能给出一个UDP打洞的例子吗? 实际上,我想写一个聊天程序,让人们在知道对方IP地址的情况下进行聊天。但是两台机器都在防火墙路由器后面。因此,我需要打洞以便进行通信。 我想要一个函数,调用该函数后将会打洞,并且未来的通信将可以轻松进行——如果这不算太过分的话 :)

19得票4回答
TCP穿透技术

我正在使用mingw工具链和windows socket尝试实现TCP打洞。我认为过程是正确的,但洞似乎没有打通。我参考了这个。 A 和 B 连接到服务器 S S 向 A 发送 B 的路由器 IP + 它用于连接到S的端口 S 对 B 也做同样的事情 A 开始了两个线程: 一个线程尝试...

18得票3回答
UDP穿透Java示例

我想通过一个带有静态 IP 的服务器来帮助两个客户端进行 UDP 穿透。服务器在端口7070和7071上等待两个客户端连接,并将各自的 IP 地址和端口发送给对方,这部分工作很好地完成了。但是我无法在两个客户端之间建立通信。我尝试在不同的WiFi网络和3G移动网络中运行代码,但是客户端程序会抛...

16得票4回答
UDP打洞。让服务器与客户端通信。

我一直在学习如何实现UDP打洞,但不知为何无法使其生效。 对于不熟悉UDP打洞的人,这是我的定义: 目标是让两个客户端(客户端A和客户端B)能够在服务器的帮助下传输数据。因此,客户端A连接到服务器并发送其信息。客户端B也是如此。服务器有必要的信息,使得客户端A能够向客户端B发送数据,反之亦...

12得票2回答
如何在两个客户端连接到会议点服务器后,使它们直接相互连接?

我正在编写一个玩具会议点/中继服务器,监听端口5555,为两个客户端"A"和"B"提供服务。 它的工作原理是:服务器从首先连接的客户端A接收到的每个字节都将被发送到第二个连接的客户端B,即使A和B不知道彼此的IP地址:A -----------> server <-------...