08-05-2011, 03:55 PM
J'ai fini mon prog en C++
Tout d'abord le lien: http://www.archive-host.com/count-100304...rqueue.bin Pour l'installer: 1)placez le dans le dossier de votre choix... "/bin/taskerqueue" par exemple... 2)Ensuite allez dans /etc/ et créez un dossier taskerqueue, puis creer un fichier texte vide nommé task.conf 3)Enfin, lancez simplement l'exécutable. Comment sa marche? La communication se fait par les sockets, vous pouvez donc jouer avec telnet pour voir ce que sa donne... Le programme écoute sur localhost:1200 (cette config sera surement changeable par la suite) Pensez a bloquer les connections provenant de l'extérieur dans votre pare-feu... (sécu) Les commandes a envoyer via les sockets ressemblent un peu a celles de mysql. Les commandes dispos sont: CREATE shell_command AT timestamp ->retourne l'id de la nouvelle tache DELETE id ->avec id l'id qui a été retourné a la création SERVER STOP -> Stoppe le programme proprement SERVER RELOAD -> recharge les taches depuis le fichier de config (aprés une édition manuelle ou depuis un autre programme par exemple) J'aurais besoin de testeurs...
08-05-2011, 04:02 PM
Cool ! Comptes-tu distribuer la source, qu'on puisse regarder un peu la tronche que ça a avant de l'exécuter ?
08-05-2011, 04:59 PM
Je tiens a préciser que la source est plutot moche! De plus, ça compile pas sous windows (mais vu que les serveurs sont souvent sous linux, je compte pas m'occuper de ça avant un certain temps!)
Je devrais le refaire en utilisant fstream plutot que les fopen et compagnie... sa m'evitera de faire des conversions bizarres entre char et strings et de concerver les deux versions a chaque fois... Je clean un peu le code et je met ça... Le format des messages? simplement envoyer une des commandes au programme citées plus haut, qui va envoyer la réponce et fermer la connection. Autre précision: ne jamais démarrer en root! la commande est executée via system() donc si jamais quelqu'un peut entrer ses commandes, sa peut faire un carnage!
08-05-2011, 05:05 PM
C'est pas grave si c'est moche, c'est comme ça qu'on progresse ! Ce sont les gens qui ne montrent jamais de code qui sont/restent mauvais. Ne t'en fais pas.
08-05-2011, 05:14 PM
oui puis perso mon expérience du C++ se résume à hello world et au jeu ou il faut trouver un nombre en s'approchant.
Pour le format des messages je ne comprend pas trop mais généralement quand j'utilise un truc via les sockets on fait un truc du genre: 1 octet pour l'entete 2 octets pour la commande (1=creeer queue, 2=ajouter tache, 3=annuler queue, etc) 2 octets pour indiquer que le message fait X octets X octets contenant le message etc.
Oulaaa, je me suis pas relancé a créer un protocole genre TCP/UDP
Tu accède juste via l'api socket de ton language au port 1200 via le protocole TCP, tu envoie juste une chaine avec ta commande, tu catch le résultat puis tu ferme le socket! (la connexion se ferme aprés l'envoi de la réponce coté serveur, mais faut quand méme la fermer coté client)
Ps: c'est du pseudo-code, je garantis pas qu'il fonctionne, et je l'ai tapé a l'arrache dans la fenetre de réponse, depuis mes maigres souvenirs des sockets en php, sans le tester, et sans même le verrifier sous notepad grâce a la coloration syntaxique! Edit: Le source: http://www.archive-host.com/count-1003367-maincpptar.gz Je l'ai fait sous CodeBlocks, libre a vous de l'importer sous un autre IDE! Pour le support, je serais sur l'IRC de jeuweb jusqu'a 22h environ.
08-05-2011, 07:28 PM
mais en fait ce n'est pas vraiment une queue car si je lis ton code PHP j'ai l'impression que c'est l'utilisateur qui doit préciser à quel temps la tâche doit démarrer, donc doit gérer la logique de queue. Pour savoir que tel truc doit commencer à 19:30 je dois savoir que truc-1 finit à 19:30 et que comme truc-1 dure 45 secondes, je dois savoir que truc-2 finit à 19:29:15 pour savoir que truc-1 finit à 19:20 etc.
08-05-2011, 07:52 PM
En effet sa ne gére pas encore les "listes"
cela dis, mon premier objectif était de faire simple. Pour la suite, je pense en effet rajouter un systeme de pile... mais je bosse la dessus sur un projet plus clean, quitte a l'intégrer aprés (ouais la c'est déjà usine a gaz!) |
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Stocker du texte hors des vues, les solutions ? | php_addict | 5 | 3 502 |
04-03-2013, 10:48 AM Dernier message: Xenos |