Bonjour,
j'ai developpé un serveur à base d'un TServerSocket qui est basé sur WinSock si je ne dit pas de bétise.
Mon serveur créer pour chaque connection cliente un thread permettant la communication, ceci marche bien.
Au dessus de 2000 connection l'erreur 10055 est levé.
Socket Error # 10055
Socket error (#10055): No buffer space available.
An operation on a socket or pipe was not performed because the system lacked sufficient buffer space or because a queue was full. This error indicates a shortage of resources on your system. It can occur if you're trying to run too many applications (of any kind) simultaneously on your machine. If this tends to occur after running certain applications for a while, it might be a symptom of an application that doesn't return system resources (like memory) properly. It may also indicate you are not closing the applications properly. If it persists, exit Windows or reboot your machine to remedy the problem.
Cette erreur est elle dut à la conception de winsock, une limitation machine ou encore une limitation de OS.
J'ai pu tester sur du win 2000 pro/ server ou encore du 2003 server. toujours cette restriction vers les 2000 connections.
J'ai trouver cette source en .net parlant de IOCP, est ce la ou une solution pour resoudre ce problème?
http://www.codeproject.com/useritems/IOCPNet.asp
Indy 10 semble parler de IOCP pour palier ce problème.
merci de votre aide
gabriel
Partager