当前位置: 首页 > 知识库问答 >
问题:

从连接的TcpClient获取UdpClient?

隗昀
2023-03-14

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

服务器将有许多客户端在单独的线程上连接到它。我让它 0 在仅绑定 Tcp 的情况下工作正常,但我想使用 Udp。由于 Udp 打孔,我很难侦听 Udp 上的特定endpoint,因为endpoint在与 NAT 设备通信时可能会发生变化。

因此,简单地提出问题:如何轻松地将“UdpClient”连接从TcpClient连接变为引用?

提前谢谢!

共有1个答案

景才英
2023-03-14

UDP没有隧道,仅仅因为您有一个成功的传输控制协议。您必须像获得传输控制协议一样建立UDP连接。例如,如果传输控制协议是从实习生到外部建立的,您必须对UDP做同样的事情,否则NAT设备将不会为UDP连接建立连接,因此来自对等方的数据包将不会发送给您。

 类似资料:
  • 我已经按照这里的示例中所述配置了TcpClient。我试图使以下代码在服务器意外关闭连接的情况下具有弹性: 在这种情况下,我希望方法“getConnectionFromPool”能够从池中检索连接,或者如果没有可用的连接,则打开一个新连接。 注意到后。connect()最终服从于ConnectionProvider。acquire(),我尝试使用tcpClient。connect(),但有必要更改

  • 问题内容: 我有一个旧版PHP / MySQL应用程序,它调用mysql_connect()。现有的大量下游代码使用此连接直接或通过包装进行调用。 对于我在应用程序上开发的新代码,我想开始使用PDO。 如果我使用相同的主机/用户/密码/ dbname凭据建立PDO连接,那么我是否很幸运,在幕后,PHP将重新使用原始连接?还是PHP将创建与服务器的两个不同的连接(虽然完全可以理解,但这是不希望的)?

  • System.ObjectDisposedException:无法访问已释放的对象。对象名称:“System.net.Sockets.NetworkStream”。在system.net.sockets.networkstream.read(Byte[]缓冲区,Int32偏移量,Int32大小) 我的问题是我做错了什么?以及重新连接到服务器的最佳解决方案是什么?我的代码如下所示:

  • 代码片段如下所示: 如果有人有决议,请帮忙?

  • 我有一张siswa和kelas的联合表格。在kelas表中有一列idSiswa,它来自siswa表的id。问题是当kelas加入时,我如何从他那里获得id。当我尝试获取id时,它显示了来自siswa表的id,而不是来自kelas表的id,我也已经使用了右连接和左连接,但仍然没有得到答案 我使用来自laravel的查询生成器来运行查询,这是我的查询

  • 首先,我有这个“用户”模型 而这种“用户详细信息”模型 我试图从user_details模型中只获取特定的列(user_details[外键=user_id]模型与用户[主键/引用键=user_id]模型有关系) 但不幸的是,不幸的是,没有工作,我得到了这个错误(参考下面) 查询onnection.php第624行中的异常: SQLSTATE[42S22]:找不到列: 1054字段列表中的未知列u