Ich schreibe einen benutzerdefinierten TCP-Server und Client und auf eine Tonne Anfragen (60.000 um genau zu sein) Ich beginne, diesen Socket-Fehler von 10048 zu bekommen, die should mean "die Adresse wird bereits verwendet."Socket-Fehler von 10048 auf dem Client? Mögliche Ursachen?
Der Fehler tritt immer dann auf, wenn ich den Vorgang nicht länger als 2 oder 3 Minuten pausiere und dann erneut beginne und dann kurz nach dem Neustart denselben Fehler anzeigt. Wenn ich den Clientprozess pausiere und den Serverprozess neu starte, bekomme ich immer noch den gleichen Fehler auf dem Client. Es ist also ein komplettes Client-seitiges Problem.
Dies ergibt keinen Sinn, dieser Fehler tritt normalerweise nur beim Binden auf, und dieser Fehler tritt auf dem Client und nicht auf dem Server auf. Was könnten die möglichen Gründe dafür sein?
Ein kleiner Auszug meiner Initialisierung:
TcpClient client = new TcpClient();
client.Connect("XXXXX -- some ip", 25000);
client.NoDelay = true;
NetworkStream clientStream = client.GetStream();
Auch scheint alles andere in Ordnung (einschließlich der Höhe der Zeit hin und her dauert es senden) zu arbeiten und dies funktioniert perfekt, wenn 127.0.0.1
verwenden, aber wenn Auf einen anderen LAN-Computer setzend, beginne ich den Fehler 10048 zu bekommen.
Ist etwas falsch mit, wie ich es initialisiere? Was könnte sonst diesen Fehler auf der Clientseite verursachen?
Ich habe 'client.LingerState = new LingerOption (false, 0);' und mit netstat, der rechten Seite, habe ich ein Mist Belastung von Verbindungen in TIME_WAIT – Earlz
Ich meine, ich habe immer noch eine Menge TIME_WAIT nach dem Hinzufügen 'LingerState' Bit – Earlz
ReuseAddr hilft auch nicht. – Earlz