Page 1 sur 1

[R] Serveur en AutoIt

Posté : lun. 09 août 2010 19:26
par matheod
Bonjour,
Sur de nombreux topics je vous vois parler de "créer un serveur" en auto it.
Mais aucun ne dit comment faire.
J'ai juste trouver les fonctions pour s'y connecté mais pas pour en créer.
Si vous pourriez me rediriger vers le post/site ou m'expliquer comment faire, ce serait sympa.

merci

Re: [..] Serveur en auto it

Posté : lun. 09 août 2010 19:30
par matheod
Je viens de trouver des sujets intéressant, je suis en train de lire
(plus pratique la recherche google que la recherche interne au forum :p)

Re: [..] Serveur en auto it

Posté : lun. 09 août 2010 19:38
par timmalos
Oui c'est possible, mais très difficile à mettre en place car certainement assez inutile et astreignant (Autoit n'est disponible que sous Windows, et rares sont les serveurs Windows pas chers)

En gros ca passe par du protocole TCP / IP, plusieurs exemples sont disponibles sur le forum, c'est le principe Serveur/Client. Le Script Serveur tourne sur le PC, et réponds aux clients. Mais le PC doit également comprendre que toutes les requetes passant par un certain port doivent être rédirigées vers ce serveur Autoit, à la manière d'un serveur Apache.


Bref, je le dis souvent, on pourrait même creer un site internet dynamique avec Autoit, mais je ne vois aucun interêt par rapport à ce qui existe déjà (Je pense notamment au Python et ses Frameworks associés, car Autoit aurait quelques avantages par rapport à PHP mais le temps de réponse resterait trop long )

Re: [..] Serveur en auto it

Posté : lun. 09 août 2010 20:06
par SrBelial
bonne question !
comme le dit timmalos, l'intérêt est vraiment limité ....

Cela dit, mettons les choses bien au clair, lorsque l'on parle de serveur en autoit, c'est au sens "serveur logiciel", cela représente uniquement la partie de l'application qui sera interrogée via le réseau par les scripts clients.

En gros faire une application serveur en autoit se fait exactement de la même façon qu'un script normal ! le seul impératif est bien entendu d'utiliser les fonctions du langages servant à l'ouverture et à la fermeture de connexions, ainsi qu'à la réception des données envoyées par les scripts clients (qui s'exécutent sur les machines des utilisateurs).

La documentation officielle est très intéressante sur ce sujet, car elle fourni des exemples très simples mais fonctionnels, qui permettent de découvrir la communication client/serveur en utilisant les sockets, les protocoles TCP et UDP ... tout ce qu'il faut pour bien débuter ! (ça reste du bas niveau mais c'est aisément réutilisable dans des scripts "maison")

Comment découvrir ce monde merveilleux :
Ouvrir la documentation (Touche F1 dans l'éditeur SciTE)
Onglet index
Rechercher TCP (en particulier fonction TCPConnect)
Rechercher UDP (en particulier fonction UDPSend)
=> étudier et manipuler un peu les exemples fournis (et regarder aussi les fonctions annexes)

bon courage !

Re: [..] Serveur en auto it

Posté : lun. 09 août 2010 20:54
par matheod
ok merci
A votre avis, je peux arriver à envoyer combien d'image (300x200) par seconde avec cette methode :p
Car je souhaite envoyer des parties de l'écran entre 2 personnes ^^
D'ailleur faudrais que je trouve la meilleur facon de transmette l'info image (enregistré en image puis recuperer le fichier et l'envoyé ?)

Re: [..] Serveur en auto it

Posté : lun. 09 août 2010 21:04
par SrBelial
avec cette méthode c'est pas une très bonne idée ....
ça risque d'être très lourd à gérer ! ce sera utilisable relativement simplement pour envoyer et recevoir de petites quantités de données, essentiellement sous forme de chaines de caractères .....

après bon bah on peut aussi envoyer des images sous forme de données brutes (pas de fichier, juste le contenu, et le script destinataire reconstruit le fichier à partir de ces données) mais là va falloir gérer l'envoi / transmission des données par paquet (la taille des données que l'on peut envoyer à un niveau aussi bas est limitée, du coup pour envoyer une image il va falloir gérer une mémoire tampon -"buffer"- qui sera remplie au fur et à mesure, envoyée, reçue, reremplie avec la suite des données, etc ...)

pour envoyer des fichiers à mon avis il sera préférable soit de les envoyer en passant par l'intermédiaire d'un script php, soit en faisant du partage de fichiers (si les deux ordis sont sur un même réseau)

d'ici à déterminer combien d'images par seconde passeront .... les tests vous le diront !! :P

Re: [..] Serveur en auto it

Posté : lun. 09 août 2010 21:08
par matheod
Le problème étant que les ordis ne sont justement pas sur le réseau ^^
Et quand je voit cette histoire de buffer hum je vais peut être changer d'avis xd ^^
Mais en php ca risque de ne pas être très rapide.
A la rigueur passer par un serveur ftp publique mais bon oO

Re: [..] Serveur en auto it

Posté : lun. 09 août 2010 21:15
par SrBelial
oh l'envoi de petits fichiers en php est relativement rapide ! cela ne nécessite pas un protocole de connexion lourd comme pour du ftp par exemple (qui nécessite authentification et tout le toutim) ....

le site du zéro a un super tuto sur le php avec justement un exemple d'envoi de fichier, à mon avi pour une image en 300x200, si elle est correctement compressée, ça sera rapide ! (peut etre moins que du ftp, qui comme son nom l'indique est dédié au transfert de fichiers)

perso pour des gros fichiers, sans hésitation ftp, mais dans ton cas .... faut tester

(quand au ftp publique ...... évite autant que possible ! soit t'installe un serveur ftp sur un des deux ordis, soit tu prend un hébergement pour avoir un serveur ftp tiers, mais qui ne soit utilisé que par toi)

Re: [..] Serveur en auto it

Posté : lun. 09 août 2010 21:22
par matheod
J'ai peur avec le php que le serveur soit mort en moins de temps qu'il ne faut pour dire php

Mais bon le problème est toujours la avec les serveurs ftp, si je n'ai pas de serveur ftp ca ne le fera pas ^^

Re: [..] Serveur en auto it

Posté : mar. 10 août 2010 02:20
par timmalos
Hmmm J'ajouterais meme que pour envoyer au plus vite vos images vous devrez preferer le protocole UDP au TCP mais que l'UDP qui meme si il est plus rapide ne verifie pas que les packets ont bien été recus : Beaucoup plus difficile à coder dans votre cas, il faudra donc utiliser le TCP Mais ca se fait bien, regardez tous les exemples de tchat disponibles sur le forum, apres il suffira de compresser au maximum votre image et ca ne devrait pas etre tres long.

Ceci dit, pourquoi reinventer la roue? http://www.teamviewer.com/fr/index.aspx <-- Gratuit, Sans installation et automatisable avec Autoit.

Re: [..] Serveur en auto it

Posté : mar. 17 août 2010 15:29
par TommyDDR
Ayant déjà créé des scripts de clients/serveur, je peux peut être vous aider.

Mais tout d'abord il faut savoir que si vous passez par une box, par défaut celle-ci bloquera surement tous les ports sortants entrants. A vous de voir en fonction de votre FAI comment faire pour débloquer votre port.

Je me suis lancer dans un script TCP de partage d'une partie du bureau (autour de la souris) je pensais que ca me prendrai moins de temps que ça donc je m'arrête là ^^'

(Le programme est fonctionnel mais il ne faut pas trop le titiller au niveau des déconnexions)
► Afficher le texteServeur
► Afficher le texteClient
En espérant que vous en ferez une utilisation saine ^^

TommyDDR.

Ps : désolé pour le peu de commentaires ...

Re: [..] Serveur en auto it

Posté : mer. 18 août 2010 09:58
par Iste
TommyDDR a écrit :Mais tout d'abord il faut savoir que si vous passez par une box, par défaut celle-ci bloquera surement tous les port sortant.
Les box ne bloquent rien, elles ne savent juste pas ou rediriger les paquets entrants

A part ca, si c'est pour du partage d'écrans, il y a des application prévues a cet effet !
VNC, logmein, ou le plus simple d'utilisation selon moi TeamViewer (voir http://sebsauvage.net/rhaa/index.php?20 ... a-distance) (meme que timmalos en a parlé mais que je l'avais pô vu ! :s)

Sinon, pour avoir déja essayé de faire de l'application de partage d'ecran en autoit (http://autoitscript.fr/forum/viewtopic. ... vnc#p19816)
,je sais que ce langage n'est vraiment pas adapté. En claire, on obtien au mieux, une image par seconde. Et ce dans de bonnes conditions.

Tout les autres points concernant le "serveur autoit" on déja été abordés par mes collègues. En gros :
- Un vrai server c'est payant
- un server autoit c'est pas utile
- Une appli client-server c'est compliqué

Sinon :
matheod a écrit :J'ai peur avec le php que le serveur soit mort en moins de temps qu'il ne faut pour dire php
Vous risquez bien plus de flinguer un server avec Autoit !

Bref, pour votre problème, si vous voulez vraiment vous y essayer, ne cherchez pas un server, mais juste comment faire pour faire communiquer deux script via TCP/IP

Re: [..] Serveur en auto it

Posté : mer. 01 sept. 2010 03:46
par matheod
Merci pour toutes ces infos ;-)

Re: [..] Serveur en AutoIt

Posté : mer. 01 sept. 2010 11:39
par SrBelial
^___^

Si résolu, merci de penser à le signaler par la balise [R] en début de titre du premier message !

Re: [..] Serveur en AutoIt

Posté : mer. 01 sept. 2010 16:57
par matheod
Je met en résolu pour le moment, je repasserais en mode normal si j'ai d'autre question ;-)

Re: [R] Serveur en AutoIt

Posté : jeu. 02 sept. 2010 06:25
par matwachich
Bah avec l'UDF TCP http://www.autoitscript.com/forum/index ... opic=74325 c'est un jeu d'enfants de gérer des connexion client/serveur en tcp!