通过共享相同的端口号,可以让两个程序在同一台计算机上(单向)通过本地主机/127... 的UDP通信进行交流吗?
我们正在进行一个学生项目,在其中需要在两台计算机之间发送包含某些遥测数据的UDP数据包。生成这些数据包的程序是专有的,但我正在使用C#和 System.Net.Sockets.UdpClient以及System.Net.IPEndPoint自己编写接收程序。
在我们小组会议期间,当我们有多个连接的计算机可以分别运行这两个程序时,这很好用。但是当我在家里尝试扩展遥测处理程序时,由于只有一台计算机(我需要测试处理程序的反馈),这并不是很有用。我也不能在学校的任何计算机上安装该程序。
当我尝试同时在我的计算机上运行两个程序(最后启动我的程序时),我会收到一个SocketException,指出每个端口只允许单个使用。这让我相信必须有一种方法可以共享端口(虽然每个计算机上只能有一个程序使用端口是有道理的,但我在同一时间内运行多个互联网浏览器没有问题(我想它们使用80端口用于http))。
重新编辑:
sipwiz是正确的,并且由于Kalmi给了我UdpClient.Client.Bind()的指针而感谢他。但是现在,我们正在考虑使用另一个生成类似数据包的程序,并且使用我的第一种(虽然天真)方法与其共享端口在同一台计算机上。抱歉,sysrqb,必须取消选中您的答案。
我们正在进行一个学生项目,在其中需要在两台计算机之间发送包含某些遥测数据的UDP数据包。生成这些数据包的程序是专有的,但我正在使用C#和 System.Net.Sockets.UdpClient以及System.Net.IPEndPoint自己编写接收程序。
在我们小组会议期间,当我们有多个连接的计算机可以分别运行这两个程序时,这很好用。但是当我在家里尝试扩展遥测处理程序时,由于只有一台计算机(我需要测试处理程序的反馈),这并不是很有用。我也不能在学校的任何计算机上安装该程序。
当我尝试同时在我的计算机上运行两个程序(最后启动我的程序时),我会收到一个SocketException,指出每个端口只允许单个使用。这让我相信必须有一种方法可以共享端口(虽然每个计算机上只能有一个程序使用端口是有道理的,但我在同一时间内运行多个互联网浏览器没有问题(我想它们使用80端口用于http))。
重新编辑:
sipwiz是正确的,并且由于Kalmi给了我UdpClient.Client.Bind()的指针而感谢他。但是现在,我们正在考虑使用另一个生成类似数据包的程序,并且使用我的第一种(虽然天真)方法与其共享端口在同一台计算机上。抱歉,sysrqb,必须取消选中您的答案。