Ciao!
Je suis développeur et je construis un jeu vidéo multijoueurs en 3D, pour cela j'ai utilisé GLScene pour la 3D et Indy pour la communication. Cependant, je tiens à pousser un coup de gueule contre les composants Indy
qui ne sont vraiment pas au "top", et surtout pas pour des applications temps réel. Effectivement, si c'est pour des accès à des bases de données ou des messages doivent être envoyé toutes les secondes, ca passe encore, mais si vous souhaitez faire un programme ou vous recevez 20 messages par seconde, là vous pouvez oublier. A vrai dire j'ai tout essayé (threads, IdAntiFreeze, timers) mais rien à faire je suis flooder de "lags" lorsque j'envoi ou je recois des données.
Si comme moi vous souhaitez développer un logiciel envoyant de grosses quantité de messages, je vous conseil d'utiliser les fameux sockets de base fournis dans Delphi, c'est-à-dire TcpServer et TcpClient qui sont tout de même très performants.
De plus, leur utilisation est nettement plus simple que l'utilisation des composants Indy si vous savez manier un temps soit peu les pointeurs et autres tableaux de bytes. En outre, ces sockets fonctionnent en mode asynchrone ce qui est très pratique, alors que les composants Indy fonctionnent en mode synchrone et donc on doit toujours attendre que le client ou le serveur soit au bout de la ligne pour continuer l'exécution de notre programme.
Voilà c'est tout ce que j'avais à dire, si toutefois quelqu'un connais le moyen d'avoir avec Indy un programme qui ne freeze pas lorsqu'il envoi des centaines de messages par seconde je suis preneur, car la librairie Indy à tout de même d'autres avantages, et en Delphi on aime pas réinventer la roue!
A+
RoulioZ.
http://diplome.roulioz.ch