今天是个好日子!
我正在开发一个对时间非常敏感的网络应用程序,并且不能选择使用中间服务器。因此,我决定实现一个 udp 打孔算法。为了简化,我用两点来解释我的问题。假设A向B发送了一些东西。据我所知,当A向B发送一些东西时,A没有太多选择使用哪个端口(用于发送)。操作系统会自动分配该端口。但是 B 可以看到 A 发送数据包的端口。现在 B 尝试在该端口上发回一个数据包,以便 A 可以读取它。
这是我遇到的一个问题/问题:
当尝试在 A 点上使用 netcat(用于测试)侦听用于发送数据包的端口时,我收到一条消息,表明该端口正忙。我在听错误的端口吗?我认为UDP协议连接较少,多个程序可以同时使用同一个端口。
有没有办法(c#)来查看我的应用程序用来发送数据包的端口?
以下“图表”显示了我正在尝试实现的更详细的部分
A ---------> R ------------> C
当 C 点收到 UDP 数据包时,它可以在 R 点看到路由器的外部端口。这是 C 发送 udp 数据包的地方。收到数据包后,路由器将其发送给 A。我的问题是如何在 A 上读取该数据包?谢谢你的帮助