HELP! Besoin d'un pro sur l'utilisation de "socket"

HELP! Besoin d'un pro sur l'utilisation de "socket" - Windows & Software

Marsh Posté le 02-05-2005 à 17:22:58    

Bonjour à tous  :hello:  
 
Voila, je dois réaliser un programme permettant de lancer des commandes sur une machine distante et on m'a conseillé d'utiliser "socket".
De ce que je comprend sur les sockets, c'est qu'il faut en déclarer 2 : 1 socket serveur et l'autre client.
Seulement ma machine distante ne comprend que le langage TL1 :ouch: , donc la configuration des sockets doit se faire depuis la machine locale.
Alors je voudrais connaitre l'avis de personne maitrisant socket... si c'est possible, et si oui quelques conseils  :ange:  
 
Merci d'avance !!!

Reply

Marsh Posté le 02-05-2005 à 17:22:58   

Reply

Marsh Posté le 02-05-2005 à 18:22:18    

:heink:  pour moi un socket c'est IP+port.
Mais là je ne vois pas ce que tu veux dire.Tu veux refaire un BackOriffice ?  :heink:

Reply

Marsh Posté le 02-05-2005 à 20:11:25    

kill9 a écrit :

:heink:  pour moi un socket c'est IP+port.
Mais là je ne vois pas ce que tu veux dire.Tu veux refaire un BackOriffice ?  :heink:


 
oui c bienIP+port socket @ip num_port mais il faut deux socket pour effectuer une communication non? (socket client et socket server)
et je demande si le socket server et le socket client peut etre défini sur une même machine, dans un même script... Ou alors il faut lancer en tâche de fond le socket server grâce a un script sur la machine distante.
Si c'est le cas je ne peut pas utiliser la solution socket puisque ma machine distante ne "comprend" que des commandes TL1.

Reply

Marsh Posté le 04-05-2005 à 09:24:40    

Un socket est juste une interface d'abstraction pour "attaquer" le réseau :d
Après faut te programmer ton appli en utilisant ces sockets :d

Reply

Marsh Posté le 04-05-2005 à 14:33:39    

FLo14 a écrit :

Un socket est juste une interface d'abstraction pour "attaquer" le réseau :d
Après faut te programmer ton appli en utilisant ces sockets :d


 
Bon ca y est !!! j'ai enfin réussi à faire une procédure (en Tcl) qui lance des commandes à ma machine distante. :D  
Par contre, maintenant je voudrais récupérer les messages de réponse (de la machine distante) à ces commandes... :pfff:  
Si vous avez des idées, voici ma procédure :
 

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 à 17:06:40    

Va voir en cat prog :d

Reply

Sujets relatifs:

Leave a Replay

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