-
Gestion d'interruption
Bonjour à tous
je suis novice, mais essaie d'avancer, aussi, je souhaite réaliser une action dans mon code, si cette action est possible:
j'ouvre un socket telnet sur une RS232 ( tunnel IP - RS232 avec la RS232 associée à un port, IP:5000 par exemple), jusque là, ça va, je sais envoyer les informations, je les récupère avec hyperterminal.
Maintenant, je ne sais pas du tout comment m'y prendre, pour que lorsqu'une chaine se présente en entrée du socket, je puisse savoir qu'elle est arrivée et pour la traiter.
J'ai pensé à une interruption sur le buffer d'entrée, est-ce que c'est possible? Si oui, je veux bien quelques explications et la méthode.
Merci par avance
Zygoat
-
Il suffit que tu attendes le ou les caractères de fin de chaine, non ?
-
je ne sais pas si j'aurai une réponse, je ne sais pas si l'appareil en RS232 à des choses à raconter, donc, le socket est ouvert, je ne sais si des caractère vont venir, s'il y en a je veux les traiter.
-
La j'avoue ne pas comprendre le probleme :oops:
-
salut Wax
J'ai un serveur enfoui, ce n'est pas un PC. Ce serveur a un OS propriétaire, il sait être serveur telnet, html, ftp... ce serveur possède des ports coms que je peux adresser en éthernet au travers de ports comme 5000. Lorsque j'envoie une chaine de caractère sur ce port en telnet, IP:5000 les caractères sortent en RS232. Je suis en train de créer une applet qui puisse gérer tout ça, elle est intégrée dans une page web sur serveur html.
Maintenant, imagine qu'à travers le tunnel IP-RS232, je paramètre un appareil en RS232, le paramétrage va bien être transmis, je sais que ça marche, mais je ne sais pas forcément comment il va répondre, ni s'il va répondre, il peut ne rien dire si tout s'est bien passé, mais peut aussi vouloir signaler un problème.
Donc je voudrai pouvoir être informé dans l'applet qu'une chaine vient d'arriver, alors que je n'en attend pas. J'ai pensé à une sorte d'interruption sur le buffer d'entrée si c'est possible, mais je ne vois pas comment faire.
A+
Zygoat
-
Oui je crois comprends +- le principe.
Il faudrait un thread qui sert a "envoyer/recevoir" sur la socket, ce thread peut retenir les eventuels message recus, et ensuite les transmettre par divers moyen au reste de l'application. Par un system d'event avec un producteur (le thread reseau) et des consomateur (des jpanel ou autres) qui vont afficher ou reagir. (par exemple ...)
-
j'ai essayé mais ça ne marche pas, je ne dois pas faire les choses correctement puisque je ne reçois pas dans mon JtextField
Est-ce que tu connais un exemple, sous forme de lien?
Merci par avance
-
j'ai mis un timer, ça a l'air de fonctionner, mais le programme ralenti petit à petit, donc je pense que j'ai du ménage à faire.
Merci wax