[TCL] Utilisation de socket en TCL : HELP ! ! !

Utilisation de socket en TCL : HELP ! ! ! [TCL] - Divers - Programmation

Marsh Posté le 04-05-2005 à 15:53:03    

Bonjour à tous  :hello:  
Voila mon probleme :
J'utilise socket pour envoyer des commandes à ma machine distante, c'est cool ca fonctionne bien  :wahoo:  
Par contre, je ne sais pas comment faire pour récupérer les réponses de la machine distante à ces commandes...
Merci d'avance pour vos conseils  
 
Voici ma procedure permettant d'envoyer une commande :
 

Code :
  1. #-------------------------------------------------
  2. # Envoi de commande à la machine distante
  3. #-------------------------------------------------
  4. proc sendCmdToMachineDistante {cmd} {
  5.     global cfg
  6.      if {[catch {
  7. # Ouvre une connexion vers le CMS Remote
  8.          set cfg(sock_cms) [socket $cfg(ADDR_IP) $cfg(NUM_PORT)]
  9. # Configuration non-blocking port
  10.          fconfigure $cfg(sock_cms) -blocking 0
  11. # Associate a reader with the channel
  12.          fileevent $cfg(sock_cms) readable
  13.         } status] == 1} {
  14. # Récupération de l'erreur d'ouverture de connection
  15.             set Id [open "C:/Tcl/Erreur_commande_CMS_Remote.txt" "a"]
  16.             puts $Id "Failed to open connection :"
  17.             puts $Id "     error : $status"
  18.             close $Id
  19.       }
  20. # Lancement de la commande
  21.      if {[catch {
  22.          puts -nonewline $cfg(sock_cms) "$cmd"
  23. # Vidage buffer
  24.          flush $cfg(sock_cms)
  25. # Attente --> filevents
  26.          after 10000 {set done 1}
  27.          vwait done
  28.         } status] == 1} {
  29.                   set Id [open "C:/Tcl/Erreur_commande.txt" "w"]
  30.                   puts $Id "Failed to send command :"
  31.                   puts $Id " --> $cmd"
  32.                   puts $Id "     error : $status"
  33.                   close $Id
  34. # Fermeture de la connection
  35.                   try {
  36.                        close $cfg(sock_cms)
  37.                   } {
  38. # Récupération de l'erreur de fermeture de connection
  39.                     set Id [open "C:/Tcl/Erreur_commande.txt" "a"]
  40.                     puts $Id "Failed to close the connection"
  41.                     close $Id
  42.                     flush stdout
  43.                   }
  44.                   unset cfg(sock_cms)
  45.      }
  46. }

Reply

Marsh Posté le 04-05-2005 à 15:53:03   

Reply

Marsh Posté le 21-09-2005 à 11:57:29    

Lut =). Chuis po un crack en tcl, mais je pense pouvoir t'aider ^^.
pour afficher toutes les infos de tonsocket >>>> puts cfg(sock_cms) ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed