-
Communication PHP > Java
Bonjour,
J'ai fait avec des amis un serveur JAVA pour un petit jeu sympa, la communication entre le jeu et le serveur fonctionne avec des packets (je n'ai pas fait cette partie, nous sommes plusieurs sur le projet).
Le soucis se pose lorsque, depuis un site externe (donc pas sur la même machine), nous voulons administrer le serveur via PHP.
D'où ma question : comment puis-je envoyer une requête pour dire à mon serveur de faire telle ou telle chose depuis un site ?
J'ai déjà créé rapidement un serveur Telnet (oui pas SSH) car nous devions l'administrer à distance, mais pas depuis un site. La connexion Telnet depuis PHP est tout simplement à chier selon moi, j'aimerais faire quelque chose d'un peu plus propre, je me suis donc tourné vers les socket avec socket_create, socket_write & co. Le soucis c'est que mon serveur reçois bien le packet mais il ne le traite pas, de plus je ne sais pas comment différencier les différents packets, par exemple d'un packet pour relancer le serveur ou d'un packet pour fermer le serveur. Bref, si vous avez un meilleur moyen de communication, je suis toute ouïe, autrement j'aimerais, si possible bien sûr, qu'on me renseigne sur les packets.
Merci d'avance & bonnes fêtes !
-
Bonsoir,
A mon avis, il serait sein d'utiliser un protocole standard type SOAP qui permet de faire du RPC (votre besoin) et a aussi de nombreux autres avantages parmi lesquels:
- standard
- ouvert
- il existe des implémentations dans de nombreux langages (parmi lesquels java et php)
-
J'ai regardé en effet une intégration de XMLRPC. Cela me parait relativement simple. J'ai aussi regarde PHP-JAVA Bridge, un peu plus compliqué, mais apparemment 20 fois plus rapide.
J'avoue avoir quelques soucis de compréhension sur le dernier, je n'ai pas trouvé de tutorial pour faire une communication depuis un serveur distant. XMLRPG serait donc une bonne alternative ?
-
Salut,
J'ai eu à utiliser une lib qui s'appelle "hessian" et qui permet entre autre de faire du RMI PHP/JAVA. C'est une piste à explorer donc :)
-
J'ai utilisé l'API XMLRPC d'Apache pour Java & la classe officielle (sourceforge) pour PHP. Tout fonctionne très bien.
Je me pose juste la question si pour de gros transfert (du texte de plusieurs megaoctet) cette méthode est efficace et surtout pas gourmande en ressource ou si je dois passer par une autre méthode ?
-
Aucune idée, mais puisque ca tourne actuellement c'est cool de tester la monté en charge. Peut-être que tu nous fera un retour ici ;)
-
Je le ferais d'ici quelques jours, le temps de terminer ce que j'ai à faire.