Je crée une nouvelle application Client/Serveur en C# et j'attends un taux de connexion assez élevé. Cela m'a fait penser à des pools de connexion de base de données qui aident à réduire les coûts de création et d'élimination des connexions entre le client et la base de données.Recherche de modèles pour créer un pool de connexions TCP pour la messagerie haute performance
Je voudrais créer une fonctionnalité similaire pour mon application et n'ai pas été en mesure de trouver de bons exemples d'application de ce modèle. Ai-je vraiment besoin de lancer une instance d'un TcpClient chaque fois que je veux envoyer un message au serveur et recevoir un message de reçu? Chaque connexion est supposée transporter entre 1 et 5 Ko, chacune recevant un message de réponse de 1 Ko.
Je réalise que cette question est un peu vague, mais je pars de zéro, donc je suis ouvert aux suggestions. Même si cela signifie que mes suppositions sont toutes fausses. L'introduction du pool de connexion est une sorte d'optimisation.
Avez-vous besoin de toutes ces connexions pour rester connecté ou établir une nouvelle connexion chaque fois qu'ils sont utilisés? Sont-ils tous sur le même serveur? S'il s'agit du même serveur, il peut être préférable de partager la même connexion plutôt que de créer plusieurs connexions, même si elles sont toutes connectées en permanence. Ce sera probablement beaucoup plus efficace aussi. – psychotik
Le modèle devra prendre en charge n nombre de clients en envoyant un message et en recevant un en retour d'un serveur central. Un client peut avoir plusieurs connexions simultanées envoyant et recevant des messages. Cela est dû au fait que les threads de fond recueillent chacun des données et doivent ensuite les envoyer au serveur (requête/réponse). Initialement, je pensais à avoir un pool de connexions par client, en gérant toutes les demandes simultanées de connexions pour ce client, en réutilisant éventuellement connections/sockets/etc. – JoeGeeky