2010-12-14 2 views
0

Ich bekomme den gleichen Fehler wie dieser Benutzer. Mein Code ist sehr ähnlich.C++ Ausnahme in WSA listen() Anruf

Socket Exception: "There are no more endpoints available from the endpoint mapper"

Ich habe versucht, alles, was er tat und meine hören() -Aufruf erzeugt immer noch eine Ausnahme, aber kein Fehlercode gemeldet wird. WSAGetLastError() gibt mir auch keine Fehler. Es scheint vorüberzugehen. Wenn ich jedoch die offenen Ports mit 'netstat -an' betrachte, ist mein Port nicht aufgelistet. Ich habe versucht, (SOMAXCONN) zu stoßen und (10 und 1) den Rückstand-Parameter auf listen() zu senken. Hat jemand Einblick in dieses Problem?

Mein UDP-Code funktioniert gut. Der TCP-Code nicht. Ich verwende Windows Server 2003 R2.

HINWEIS: Dieser Code ist Teil eines Komponententests, bei dem ich einen Port abhake und eine Verbindung mit 127.0.0.1 zu diesem Port herstelle.

+0

Ist das zufällig eine Bluetooth-Buchse? –

+0

Ethernet, TCP ... – MarkP

+1

starten Sie Ihren Rechner neu. –

Antwort

0

Die Antwort im zitierten Thread, die besagt, dass Sie die Ausnahme der ersten Chance ignorieren sollten, ist korrekt. Dies ist kein Socket-Problem, und es erfordert sicherlich nicht, mit Registrierungseinträgen oder SO_LINGER herumzuhantieren. Dein Backlog wird auf 50 erhöht, also kannst du es auch so einstellen.