Gambas France BETA


Pas de compte ? Incription

Question pour un/des champions... [GB3]

Ce sujet est résolu.

1
AuteurMessages
spheris#1 Posté le 31/3/2014 à 11:40:23
J'ai une application en GB3 qui tourne sur un PC connecté à internet.
Je souhaite par l'intermédiaire d'un tunnel SSH sur une machine distante envoyer des infos ou des commandes à cette application gb3.
Existe-t-il un moyen simple de faire cela?

exemple si j'envoie la commande taratata, je veux pouvoir déplacer le bouton button1 de 100 sur les X.

Merci pour vos réponses.
;)
Jack#2 Posté le 31/3/2014 à 13:02:13
Bonjour,

a mon avis il faut que tu passes par un fichier.
Voilà comment je verrai la chose.

Du coté A
1- tu créé un programme en gambas qui génére les infos dans un fichier Maj.txt.
2- avec le même programme tu envoies le fichier sur un serveur ftp.

Du coté B
1- tu vérifies l'existence du fichier Maj.txt et s'il existe alors tu fais les options 2 et 3.
2- tu récupères le fichier et tu fais le traitement idoine avec les données récupérées.
3- tu détruit le fichier Maj.txt.
Pour un code démocratique nationalisons Gambas.
spheris#3 Posté le 1/4/2014 à 08:56:46
Jack,
merci pour ta réponse. ça implique donc que le programme destination lise en permanence pour voir l'xistence du fichier.
N'est-il pas possible de faire du 'temps réel' ?
Jack#4 Posté le 1/4/2014 à 18:17:14
Que veux-tu faire très précisément ? Ta variable doit être modifiée en temps réel coté serveur ?
Comment envoie-tu ta commande par ssh ?
Pour un code démocratique nationalisons Gambas.
Flachy Joe#5 Posté le 1/4/2014 à 20:01:51
Iguane : Il Gambas Uniquement pour Activer ses NEuronesSalut,
ça doit être possible avec le contrôle ServerSocket de gb.net
Le principe :
- Tu ouvres un port (port-distant) en écoute avec serversocket dans ton appli Gambas distante
- Tu tunnelises en local à travers SSH ( ssh -L port-local:server:port-distant server-ssh )
- Tout ce que tu envois maintenant dans le port local est reçu en temps réel par l'appli gambas

Tu peux utiliser le contrôle Socket dans une appli cliente pour envoyer les infos.
Ou utiliser une redirection bash par exemple ( echo tralala > /dev/tcp/localhost/PORT-LOCAL )

;) Flachy Joe ;)
spheris#6 Posté le 2/4/2014 à 10:31:46
Flachy Joe,
Merci pour ta réponse.
J'essaye ça.
Merci

Jack,
Un script bash me permet d'enovyer ma commande coté serveur par un tunnel SSH.
Merci pour ton aide.
;-)
Jack#7 Posté le 2/4/2014 à 12:03:45
je pense que le serversocket proposé par Flachy Joe répond plus à ta demande de travailler en temps réel.
Pour un code démocratique nationalisons Gambas.
linuxos#8 Posté le 3/4/2014 à 04:18:36
Un peu de sel, de poivre et la crevette sera... Bonsoir,

J'ai un autre façon de faire. J'ai écrit et déposé sur la forge un composant qui permet de faire des connexions SSH directement dans Gambas.

Plus besoin de tunnel ou quoi que ce soit, tu peux directement executer des commandes sur une machine distante comme dans un shell interactif, copier des fichiers, lire des fichiers, créer des repertoires, etc...

Composant: sshClient

Il faudrait que je republie la derniere version sur la forge d'ailleurs.

A mediter

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
Jack#9 Posté le 3/4/2014 à 09:13:19
Bonjour,
ton composant m'intéresse. Je vais attendre que la mise à jour soit faite pour y jeter un œil.
Linuxos est un informaticien qui canarde comme un forcené.
Pour un code démocratique nationalisons Gambas.
linuxos#10 Posté le 4/4/2014 à 03:53:26
Un peu de sel, de poivre et la crevette sera... spheris,

J'ai fini de pofiner le composant gb.sshclient. Il est fonctionnel mais requière une version de libssh4 assez récente.
Peux tu me dire quelle distribution Linux tu utilise afin de t'orienter vers le bon package/source de la librairie a installer ?

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
spheris#11 Posté le 6/4/2014 à 17:44:09
Je migre sous mint d'ici peu de temps...
Encore merci pour ton travail.
;)
linuxos#12 Posté le 12/4/2014 à 22:40:49
Un peu de sel, de poivre et la crevette sera... Bonjour,

Voila j'ai mis a jour la Forge avec la derniere version du composant sshClient donc je vous ai parlé.
J'ai mis a jour les instructions d'utilisation et de mis en place.
Le composant fonctionne parfaitement sous Fedora/Redhat que sous Debian/Ubuntu/Linux Mint.

Un exemple complet est disponible et expliqué directement dans le composant lui même.

J'utilise déja dans plusieurs projets ce composant dans des ordonnanceurs afin de me connecter sur de multiples machines par ssh afin de recuperer des informations dessus.
Comme exemple de temps d'execution:
- Connexion sur 400 machines réparties dans toutes la France
- Exécution d'une dizaine de commandes sur chaque machine (commandes simples)
- Environ 40 connexions en parallèle pour accélerer le processus.
- Ecrit entierement en Gambas (mise a part la librairie libssh)
Temps d'éxecution final: moins d'une minutes !

En esperant que cela vous aidera dans vos projets.

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
spheris#13 Posté le 16/4/2014 à 09:49:29
Alors là tu me scotches. J'essaye ça rapidos et te renvoi feedback.
Merci encore.
;)
1