Freigeben über


Fehler 10013 (WSAEACCES) wird zurückgegeben, wenn eine zweite Bindung an einen ausgeschlossenen Port in Windows fehlschlägt.

Dieser Artikel enthält Hilfe zum Beheben eines Problems, bei dem Sie einen ausgeschlossenen Port nicht erneut binden können, obwohl die option SO_REUSEADDR festgelegt ist.

Ursprüngliche KB-Nummer: 3039044

Symptome

Gehen Sie davon aus, dass Sie einen Port ausschließen, indem Sie den folgenden Befehl auf einem Computer ausführen, auf dem Windows Server 2012 R2, Windows Server 2012 oder Windows Server 2008 R2 ausgeführt wird:

netsh int ipv4 add excludedportrange protocol = tcp startport = Integer numberofports = 1

Gehen Sie außerdem davon aus, dass Sie den SO_REUSEADDR Socket an einen bestimmten TCP-Port auf dem Computer binden. Wenn Sie versuchen, den SO_REUSEADDR Socket erneut an den TCP-Port zu binden, schlägt die Bindung fehl, und Sie erhalten den Fehler "WSAEACCES (10013)".

Wenn Sie daher eine Anwendung verwenden, die die beiden Bindungen in Windows Server 2012 R2, Windows Server 2012 oder Windows Server 2008 R2 aufruft, kann sie nicht ordnungsgemäß funktionieren.

Notiz

  • Standardmäßig kann Windows Server 2008 R2 den netsh Befehl nicht verwenden, um Ports auszuschließen. Nachdem Sie jedoch Hotfix-2665809 angewendet haben, unterstützt das Betriebssystem diese Funktion.
  • Dieses Problem tritt in Windows Server 2008 oder Windows Server 2003 nicht auf.

Ursache

Dieses Problem tritt aufgrund eines Problems im tcpip.sys Treiber auf. Insbesondere wurde das WIEDERVERWENDUNG-Flag vom RESERVED-Flag überschrieben, wenn der tcpip.sys Treiber einen ausgeschlossenen Port bindet.

Problemumgehung

Wenden Sie eine der folgenden Methoden an, um dieses Problem zu umgehen:

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Weitere Informationen

Weitere Informationen zur option SO_REUSEADDR finden Sie in der Setockopt-Funktion .