2010-02-22 4 views
2

J'ai écrit une application torsadée simple qui se connecte à un serveur qui écoute sur 1 ou plusieurs ports. L'application tordue se connecte à ce serveur et se connecte généralement à quelques-uns des ports ouverts à la fois. Ce serveur est un enregistreur série qui se connecte aux périphériques série et fournit les informations de ligne série via un socket TCP brut et j'ai besoin de consigner toutes ces données sur le disque.python tordu stdio plusieurs connexions à un serveur avec une invite de commande pour l'interaction

Mon application actuelle enregistre toutes les informations reçues sur le disque sans problème.

Ce que je dois maintenant faire, mais je suis incapable de progresser, c'est d'ajouter la possibilité d'interagir avec mon application via stdin. Je dois pouvoir envoyer des commandes à l'application locale mais également envoyer des commandes de texte via les sockets connectées. J'ai une invite basique utilisant basic.LineReceiver et l'ajoutant à mon réacteur mais je n'arrive pas à comprendre comment envoyer les données au serveur ou même si c'est la bonne façon de procéder.

Un exemple simplifié serait utile pour montrer ce que je dois faire.

Merci

J

Répondre

2

Pour ajouter une console interactive à votre application Twisted, voir this article - il explique comment utiliser twisted.internet.stdio à cet effet.

+0

J'ai suivi cet exemple au départ mais je ne comprends toujours pas ce que je dois faire pour mon exemple. –

+0

Je ne sais pas quoi d'autre je peux dire en plus de copier le code de l'exemple (la "bonne" version) à http://share11.appspot.com/1421. Bien sûr, vous allez toujours traiter les lignes entrées par l'utilisateur localement, juste faire que certains des "verbes" provoquent un envoi-à-serveur (avec le rappel etc.); vous pouvez peut-être utiliser le module 'cmd' de la bibliothèque standard pour vous aider. Montrez-nous (en éditant votre Q) une version aussi simple que possible du code que vous avez essayé et qui ne fonctionne pas et nous serons peut-être en mesure d'offrir des suggestions spécifiques, mais je ne peux pas penser à ce que c'est vous faites peut-être tort! –

+0

hoo, le lien vers l'article est mort = _ =. pour l'instant encore dans google cache: http://webcache.googleusercontent.com/search?q=cache:ZXY3g5nNc_QJ:www.oluyede.org/blog/2008/08/31/twisted-interactive-console/+&cd=1&hl= fr & ct = clnk & client = ubuntu – christophe31

Questions connexes