Ecouter sur un port distant

Mazus -  
 Mazus -
Bonjour,

J'utilise en local un script PHP qui tourne en permanence pour écouter sur un port. Les applications flash de mon site (local) communiquent entre-elles grâce à ce script.
Je voudrais mettre mon site en ligne mais je ne sais pas comment faire tourner ce script PHP sur mon serveur mutualisé (hebergratuit.com).
Une idée ??

Merci.

4 réponses

blankit Messages postés 25 Statut Membre
 
Bonjour,

que fait exactement ce script ? Quand est-il lancer ?
0
Mazus
 
Bonjour,

C'est un script que je lance manuellement avec un .bat qui contient :
D:/wamp/bin/php/php5.2.11/php.exe D:/wamp/bin/php/php5.2.11/Server/server.php

Le script créé des socket et entre dans une boucle infini pour renvoyer les messages recu vers tous les clients connectés (principe chat)
Du style :
//Création socket
if (($master = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) { ...


et des socket_bind, socket_listen socket_accept socket_select etc...
Je ne suis pas l'auteur du script mais il fonctionne.
Le problème que j'ai est donc de savoir comment lancer ce script en ligne...


Merci pour vos réponses
0
blankit Messages postés 25 Statut Membre
 
Coté flash, je ne m'y connait pas, mais je peux t'apporter mes connaissance php :

Une boucle infini en php sur un serveur externe ne fonctionnera pas dans 90 % des cas car les serveurs web bloque les exécutions après 30 second...

Sur ce, j'ai 2 solutions à te proposé :

la première est de mettre le script sur le serveur web, mais c'est au chat d'appeler le script (le chat appelle le script qui lit dans la base de donnée chaque 2 second et il renvoi les informations en XML par exemple).


La deuxième est de lancer ce script sur le serveur web à partir d'un browser. Et sur la page tu met une redirection sur elle même en javascript après x second, normalement l'exécution ne sera pas bloquer, cela fera comme si tu réactualise la page avec F5. (je ne suis pas sur qu'il n'arrive pas au time out de 30 second, quelqu'un peut me le confirmer ?
0
Smoking bird
 
C'est pas dans ce genre de situation qu'un cron job est supposé démontrer toute son utilité?
0
blankit Messages postés 25 Statut Membre
 
cron job ? =)
0
Mazus
 
Merci pour vos réponses,

Cron Job est un outil disponible chez certains hébergeurs qui permet d'executer un script à intervalle régulier.
En l'occurence ce n'est pas très approprié à mon problème, mais j'ai tout de même tenté.
Malheureusement, le problème majeur vient du fait qu'aucun hébergeur ne permet d'écouter comme ca sur un port...

Je suis en train de chercher une solution en passant directement du flash vers mysql, ce qui est à priori possible.

Merci bien !
0