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.
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)
<?php
/*
Ouverture d'un socket
AF_INET car c'est une communication via "internet" (localhost tout du moins)
SOCK_STREAM et SOL_TCP pour le protocole TCP
*/
$ressource = socket_create (AF_INET, SOCK_STREAM, SOL_TCP);
/*
Connection vers localhost, sur le port 1200
*/
socket_connect ($socket, localhost, 1200);
/*
Préparation du packet a envoyer
*/
$exectime=time()+60; //execution programmée pour dans 60 secondes
$buffer="CREATE php -r 'print_r($_SERVER);' AT ".$exectime; //on ecrit la commande, ici, on crée une tache pour executer la commande php -r 'print_r($_SERVER);'
socket_write ($socket, $buffer); // on l'envoie
/*
Enfin, on récupére le packet de retour:
*/
$return = socket_read ($socket, 255);
/*
Dans le cas de la commande create, elle revoie l'id de la tache, qui doit donc étre supérieur a 0!
*/
if(is_numeric($return) AND $return>0){
/*
Ici on stockera la valeur dans une table, au cas ou on aurai besoin de faire appel a la fonction DELETE plus tard!
*/
} else {
/*
La, y a une erreur! Filez dans les logs de votre machine pour voir ce qu'il a bien pu se passer... (en priant pour que l'erreur soit logguée...)
*/
}
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.