J'écris un client et un serveur TCP personnalisé et en faisant une tonne de demandes (60 000 pour être exact) je commence à obtenir cette erreur de socket de 10048, dont should mean "l'adresse est déjà utilisée."Erreur de socket de 10048 sur le client? Causes possibles?
L'erreur persiste sauf si je mets le processus en pause pendant 2 ou 3 minutes, puis recommence, puis commence à afficher la même erreur peu de temps après le redémarrage. Si je mets en pause le processus client et redémarre le processus du serveur, je reçois toujours la même erreur sur le client. C'est donc un problème côté client complet.
Cela n'a pas de sens cependant, cette erreur se produit généralement lors de la liaison et cette erreur se produit sur le client et non sur le serveur. Quelles pourraient être les raisons possibles?
Un petit extrait de mon initialisation:
TcpClient client = new TcpClient();
client.Connect("XXXXX -- some ip", 25000);
client.NoDelay = true;
NetworkStream clientStream = client.GetStream();
De plus, tout semble fonctionner très bien (y compris la quantité de temps qu'il faut pour envoyer les deux sens) et cela fonctionne parfaitement lors de l'utilisation 127.0.0.1
mais quand le mettre sur un autre ordinateur LAN je commence à obtenir l'erreur 10048.
Y a-t-il quelque chose qui ne va pas dans la façon dont je l'initialise? Quoi d'autre pourrait causer cette erreur du côté du client?
J'ai ajouté 'client.LingerState = new LingerOption (false, 0),' et en utilisant netstat, votre droit, j'ai une charge de merde de connexions dans TIME_WAIT – Earlz
Je veux dire, j'ai encore beaucoup de TIME_WAIT après avoir ajouté le bit 'LingerState' – Earlz
ReuseAddr n'aide pas non plus. – Earlz