J'ai un processus "gestionnaire" sur un noeud, et plusieurs processus de travail. Le gestionnaire est le serveur réel qui détient toutes les connexions aux clients. Le gestionnaire accepte tous les paquets entrants et les place dans une file d'attente, puis les processus de travail retirent les paquets de la file d'attente, les traitent et génèrent un résultat. Ils envoient le résultat au gestionnaire (en les mettant dans une autre file d'attente qui est lue par le gestionnaire), mais voici où je suis bloqué: comment envoyer le résultat à une socket spécifique? Il est facile de traiter le traitement des paquets sur un seul processus, car lorsque vous recevez un paquet, vous pouvez y répondre simplement en saisissant l'objet "transport" dans le contexte. Mais comment ferais-je cela avec la méthode que j'utilise?Python/Twisted - Envoi à un objet socket spécifique?
Répondre
Il semble que vous ayez besoin de garder une référence au transport (ou au protocole) avec les octets qui viennent d'arriver sur ce protocole dans votre objet 'event'. De cette façon, les réponses qui sont arrivées sur une connexion sortent sur la même connexion.
Si les choses n'ont pas besoin d'être traitées en série, vous devriez peut-être penser à configurer des foncteurs capables de gérer les données en parallèle pour éliminer la nécessité de faire la queue. Gardez juste à l'esprit que vous devrez protéger les sections critiques de votre code. À en juger par votre autre question sur l'évaluation de la conception de votre serveur, il semblerait que le traitement en parallèle ne soit pas possible pour votre situation. Ma première suggestion est donc la suivante.
- 1. Répondre à un client de socket spécifique
- 2. Envoi de données sur le socket AF_PACKET
- 3. Envoyer un objet sérialisé via le socket
- 4. Appliquer un filtre à une zone spécifique d'un objet DisplayObject?
- 5. Clozure Common Lisp - Programmation de socket TCP - Envoi d'une réponse
- 6. Envoi du même objet mais modifié sur ObjectOutputStream
- 7. Envoi objet contenu sur Services RIA
- 8. Comment envoyer un objet image via le socket ...?
- 9. Envoi d'Excel à un utilisateur via ASP.NET
- 10. Expose un objet .net spécifique en tant que JSON
- 11. Objet de moulage à une classe spécifique en IL?
- 12. Définir par programme un objet bean spécifique - Ressort DI
- 13. Comment passer un objet viewmodel spécifique dans CommandParam d'un bouton?
- 14. Python multitraitement: Envoi de données à un processus
- 15. Objective-C: comment savoir quel autre objet conserve un objet spécifique?
- 16. Comment puis-je mapper un socket unix local à un socket inet?
- 17. Envoi d'un document à l'imprimante avec C#
- 18. Envoi de ByteArray à Zend_Amf
- 19. à un objet Adjonction
- 20. setSoTimeout sur un socket client n'affecte pas le socket
- 21. Envoi de la longueur du tampon et de la mémoire tampon sur la socket dans c
- 22. faire un objet égal à un autre objet
- 23. boucle à travers un objet qui contient un objet php
- 24. Comment passer un seul objet [] à un objet params []
- 25. passer un objet [] à un objet params [] ne fonctionne pas
- 26. Dites à StructureMap d'utiliser un constructeur spécifique
- 27. PHP à Perl Socket Communication
- 28. Envoi de données d'Excel à un site Web
- 29. Envoi de requêtes GET à un script basé sur POST?
- 30. VB ASP.NET envoi de données à un film flash