Intel UPNP lib的一个内存资源泄漏问题

1 篇文章 0 订阅


  Intel UPNP lib是一个很好用的东东,也是UPNP官方
推荐的,不过也有一些瑕疵。
  长时间运行可能会导致系统资源(CPU,memory,socket)占用过多。
最主要的原因是其没有及时释放资源。


1. 注意UPnPDevice.cs中函数:

通过此函数,返回解析后的UPnPDevice。
设若发生异常,那么图中红框内UPnPDevice RetVal所占用系统资源
将不能释放。原因如下:
UPnPDevice将会调用SSDP来解析设备,SSDP.cs构造函数中会SetupSessions()
,再看SetupSessions()中使用UdpClient来发起网络请求,但是SSDP.Dispose()

中并没有释放UdpClient资源,解决办法是在SSDP.Dispose()中加上

foreach (UdpClient client in sessions.Values)
{
	client.Close();
}
foreach (UdpClient client in usessions.Values)
{
	client.Close();
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值