从连接的TcpClient获取UdpClient?

时间:2014-06-22 20:17:39

标签: c# sockets tcp udp tcpclient

我正在尝试在建立Tcp连接后设置Udp连接。所有连接状态和控制都通过Tcp,但我希望客户端和服务器也可以通过Udp进行通信。这是我的问题。

服务器将在不同的线程上连接许多客户端。只有Tcp绑定,我有%100工作正常,但我想使用Udp。由于Udp Hole Punching我很难在Udp上侦听特定端点,因为端点在与NAT设备通信时可能会发生变化。

所以,简单地提出这个问题:如何轻松地从TcpClient连接到引用的“UdpClient”连接?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

UDP没有隧道,只是因为你有一个成功的TCP连接。 您必须以与TCP连接相同的方式建立UDP连接。例如。如果TCP连接是从实习到外部建立的,则必须对UDP进行相同操作,否则NAT设备将不会建立UDP连接的连接,因此来自对等体的数据包将不会发送给您。