Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满;_C#_.net_Sockets_Windows 7 - Fatal编程技术网

C# &引用;无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满;

C# &引用;无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满;,c#,.net,sockets,windows-7,C#,.net,Sockets,Windows 7,我用C#编写了一个IP多播应用程序。它可以很好地编译,但在运行时,这行代码: sock.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(IPAddress.Parse("224.100.0.1"))); 引发未处理的套接字异常: 无法对套接字执行操作,因为系统缺少足够的缓冲区空间或

我用C#编写了一个IP多播应用程序。它可以很好地编译,但在运行时,这行代码:

sock.SetSocketOption(SocketOptionLevel.IP,
                     SocketOptionName.AddMembership,
                     new MulticastOption(IPAddress.Parse("224.100.0.1")));
引发未处理的套接字异常:

无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满


我在谷歌上搜索了这个错误,人们建议删除可能已启用的3GB交换机(我的操作系统是Windows7)。我这样做了,但仍然得到相同的错误。可能是什么问题?

当资源(套接字?)或内存不足时,似乎会发生这种情况。 在命令提示下运行: netstat-ab

我不确定插座的极限是多少。我现在自己也在和这样的问题作斗争

关于插座限制的说明:

我也有同样的错误,但仅在Windows 7上。如果我在Vista上运行同一个多播应用程序,它就会工作。它会弹出一个系统对话框来取消阻止应用程序的行为,但它会运行。这可能是win7中更改的网络权限。我还在寻找解决办法。如果其他人找到了,请发布。

如果超出资源限制,您可能会遇到此错误消息。
System.Net.Sockets.Socket
实现了
IDisposable
。您是否在用完插座后立即处理它们


将它们留给垃圾收集器是泄漏资源的一种很好的方式。

这可能是端口耗尽。 当应用程序在短时间内建立太多传出连接或未正确处理传出连接时,您的端口将用完


是指向相当冗长的解释的链接,也是诊断问题的一种方法

我在Windows Server 2008上也遇到了同样的错误。在我的例子中,重新启动服务器(正常运行时间为2年)后,问题得到解决。

请参阅-和(您确定需要多少动态输出端口)。与第二篇文章一起,将TcpTimedWaitDelay设置为dword十进制值30。因此,当插座释放到系统时,清除速度更快。 请参阅-technet.microsoft.com/en us/library/cc938217.aspx

我在尝试连接到本地MySQL数据库时遇到了相同的问题(也称错误10055)。我认为您需要增加操作系统允许的动态端口的数量

提到了对我有效的解决方案 我相信它也可以帮助你,因为你正在使用Windows。
祝你好运

在Windows Server 2012 R2数据中心x64上与瑞典名为Loopia的外部电子邮件提供商联系时出现此错误

服务器已经将近一年没有重新启动了。重新启动后,一切正常

无法在套接字上执行操作,因为系统已关闭 缺少足够的缓冲区空间或队列已满 194.9.94.72:993

描述:在执行过程中发生未处理的异常 当前的web请求。请检查堆栈 跟踪以获取有关错误及其来源的更多信息 密码

异常详细信息:System.Net.Sockets.SocketException:异常 无法在套接字上执行操作,因为系统缺少 缓冲区空间足够,或因为队列已满194.9.94.72:993


我对HTTP帖子也有同样的问题。即使我使用
正确地处理了大量的IIS,但快速连续地处理它们似乎会使IIS过载。想法?@jocull你的申请书呢?在与IIS对话或由IIS托管的客户端计算机上?也可能有助于解释操作系统施加的限制。它是一个与IIS对话的.NET控制台应用程序。基本上,SQL请求是通过web应用程序代理的。@jocull我遇到了完全相同的问题。我们的webapp做了很多http文章,但最终失败了,我尝试了一个httpclinet的静态实例,使用的版本都不起作用。