UdpClient 与Dispose

       最近在.net Winform下面使用UdpClient ,将其作为其中一个子类(设为A)的成员变量,A根据用户操作,而可能会被反复创建和销毁多次。在用户反复操作的过程中,会出现"通常每个套接字地址(协议/网络地址/端口)只允许使用一次"错误。这是由于UdpClient 没有被销毁所致。因此使用“using”关键字,将UdpClient 作为成员变量,每次用完后都进行销毁,则不会出现上述错误了。

      

try {
     using(UdpClient udpSelexClient = new UdpClient(61000))
     {
         while(true) 
         {
           byte[] buffer = udpSelexClient.Receive(ref m_UdpSelexRecEndPnt);
           //do something here
         }
      }
    } catch(Exception e) {
           MessageBox.Show("[Error]: UDP " + e.Message);
    } finally {
           MessageBox.Show("Exit Selex UDP!");
    }


             在使用上述代码后,一般也要稍微等待片刻,等待彻底释放完UdpClient 所占用资源后,再进行反复操作。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值