it-swarm.com.de

"Eine Operation für einen Socket konnte nicht ausgeführt werden, weil dem System nicht genügend Pufferplatz zur Verfügung stand oder eine Warteschlange voll war."

Ich habe eine IP-Multicasting-Anwendung in C # geschrieben. Es kompiliert gut, aber zur Laufzeit diese Zeile:

sock.SetSocketOption(SocketOptionLevel.IP,
                     SocketOptionName.AddMembership,
                     new MulticastOption(IPAddress.Parse("224.100.0.1")));

löst eine nicht behandelte Socket-Ausnahme aus:

Eine Operation für einen Socket konnte nicht ausgeführt werden, weil dem System nicht genügend Pufferplatz zur Verfügung stand oder weil eine Warteschlange voll war

Ich habe nach dem Fehler in Google gesucht und die Benutzer haben vorgeschlagen, den 3 GB-Schalter (mein Betriebssystem ist Windows 7) zu entfernen, der möglicherweise aktiviert wurde. Ich habe das getan, aber immer noch den gleichen Fehler erhalten. Was könnte das Problem sein?

19
TSiri

Dies scheint zu passieren, wenn Ihnen die Ressourcen (Sockets?) Oder der Speicher ausgehen. __

Ich bin mir nicht sicher, was das Socket-Limit ist. Ich kämpfe gerade gegen ein solches Thema.

Hinweise zu Socket-Grenzwerten: http://support.Microsoft.com/kb/196271

8
nathand

Es könnte Porterschöpfung sein. Wenn die Anwendung (en) zu viele ausgehende Verbindungen in einem kurzen Zeitrahmen herstellt oder ausgehende Verbindungen nicht ordnungsgemäß bereitstellt, gehen die Ports aus.

Hier ist der Link zu einer recht langwierigen Erklärung und einer Möglichkeit, das Problem zu diagnostizieren

7
Michael

Diese Fehlermeldung kann auftreten, wenn Ressourcengrenzwerte überschritten werden. Ein System.Net.Sockets.Socket implementiert IDisposable. Entsorgen Sie Ihre Steckdosen, sobald Sie damit fertig sind?

Sie für den Müllsammler herumzulassen, ist ein hervorragender Weg, um Ressourcen auszulaufen.

4
ta.speot.is

Ich habe den gleichen Fehler, aber nur unter Windows 7. Wenn ich meine Multicast-App unter Vista laufe, funktioniert es. Es öffnet sich ein Systemdialogfeld, um das Verhalten der App aufzuheben, aber es wird ausgeführt. Dies ist wahrscheinlich eine veränderte Netzwerkberechtigung in win7. Ich suche immer noch nach einer Lösung. Wenn jemand anderes eine findet, bitte posten.

3
dviljoen

Ich hatte den gleichen Fehler auf Windows Server 2008. In meinem Fall wurde nach dem Neustart des Servers (mit 2 Jahren Betriebszeit) ein Problem gelöst.

1
Milad AM

Ich hatte das gleiche Problem (a.k.a error 10055), als ich versuchte, eine Verbindung zu einer lokalen MySQL-Datenbank herzustellen. Ich glaube, Sie müssen die Anzahl dynamischer Ports erhöhen, die das Betriebssystem zulässt.

Die Lösung, die für mich funktioniert hat, wurde hier Viel Glück!

Dieser Fehler wurde bei der Kontaktaufnahme mit einem externen E-Mail-Anbieter in Schweden namens Loopia auf einem Windows Server 2012 R2-Datencenter x64 gemeldet. 

Der Server wurde seit fast einem Jahr nicht neu gestartet. Nach dem Neustart hat alles funktioniert. 

 enter image description here

Eine Operation an einem Socket konnte nicht ausgeführt werden, da das System nicht genügend Pufferplatz vorhanden oder weil eine Warteschlange voll war 194.9.94.72:993 

Beschreibung: Während der Ausführung von .__ ist eine nicht behandelte Ausnahme aufgetreten. die aktuelle Webanfrage. Bitte überprüfen Sie den Stack Weitere Informationen zum Fehler und zur Herkunft des Fehlers in der Code. 

Ausnahmedetails: System.Net.Sockets.SocketException: Ein Die Operation an einem Socket konnte nicht ausgeführt werden, da das System nicht vorhanden war ausreichend Pufferplatz oder weil eine Warteschlange voll war 194.9.94.72:993

0
Ogglas

weitere Informationen finden Sie unter - http://support.Microsoft.com/kb/2553549 und https://support.Microsoft.com/en-us/kb/929851 (Sie bestimmen, wie viele dynamische Outbout-Ports Sie verwenden wollen). Setzen Sie den TcpTimedWaitDelay zusammen mit diesem zweiten Artikel auf den Dezimalwert von 30 für dword. Wenn also Sockets für das System freigegeben werden, wird der Löschvorgang schneller ausgeführt .. _ - Siehe

0
AnthonyG