我正在使用 C#UdpClient
类来连接 UDP 网络。有一个UdpClient
对象,绑定到一个固定的本地端口,但不绑定到任何远程端点,因为它需要能够向/从多个不同的端点发送/接收。
我有两个线程:一个用于发送,一个用于接收。现在,当我将数据发送到存在但不在该端口上侦听的端点时,我期望一个SocketException
. 我确实得到了一个。不幸的是,返回异常的不是我Send
的调用,而是Receive
调用。因此,在我的发送线程上,我将数据发送到“无效”端点,而我的接收线程得到了异常。不幸的是,在那一点上,我当然不知道是什么端点导致了该异常的发生。
在发送之前存储端点,然后在接收线程中访问它只是等待发生的竞争条件错误。
不幸的是,SocketException
没有给我导致错误的端点。
有任何想法吗?是否有可能在发送线程上引发异常?
非常感谢您的帮助。