Bonjour, j'ai un probleme avec le forwardage dans un systeme que je vais vous presenter:
disons que j'ai 10 serveurs qui tournes et un master qui gere les 10 serveurs.
le master qu'on va appeller M a une ip publique (P_IP). les 10 serveurs sont en local.
premier point il n'y a pas de probleme ici tout marche bien mais je suis sur qu'on peut faire mieux (je suis tres passable en php) donc si ca vous grattes n'hesitez pas a modifier la methode de transfert de fichier.
donc premier point si un client veut une information sur une chaine de tele il tapes l'url suivante:
http://P_IP/vas/vas.php?mod=live&channel=BEIJINGTV1&type=ocr
ce que M fait (et je suis sur que vous allez me dire que c'est pas tres propres)
1/se renseigne sur le serveur qui gerre BEIJINGTV en mode OCR (car BEIJINGTV1 dans un autre mode peut etre sur une autre machine)
2/envois une requete pour lire un fichier xml et le renvois au client
code de 1/
1 2 3 4 5 6 7 8
| $ip=getip($chan,$tt); //$tt= type et $chan=channel, retour = l'addr IP
$url='http://'.$ip.'/vas/vas.php?';
$url.='mod='.$frm; //le mod donner par le client ex: live
$url.='&channel='.$chan;
$url.='&type='.$tt;
//donc l'url sera par exemple: http://192.168.1.13/vas/vas.php?mod=live&channel=BEIJINGTV1&type=orc |
puis code 2
1 2 3 4 5 6 7 8 9 10
| else if($frm=='live')
{
$cnt='';
$cnt=file_get_contents($url);
header("Content-type:application/text");
header("Content-Disposition:attachment; filename=".$chan.".xml");
echo $cnt;
} |
donc vous voyez que je lis un fichier que je renvois je pense qu'il y a mieu mai sje sai pas faire. et surtout le probleme n'est pas la.
LE probleme:
le probleme est que le fichier renvoye est un fichier xml avec une entre <sceneframe> du genre:
</sceneframe>http://192.168.1.10/vas/sceneframe/CCTV5/20121014/uuid.jpg</sceneframe>
le client doit donc pouvoir wget ce qu'il y a entre<sceneframe> </sceneframe>, problem c'est que c'est un adress lan. et je sais pas quoi faire pour que ca marche.
pour l'instant j'utilise une solution provisoire c'est de monter les 10machines en NFS sur le M et ainsi dans le fichier xml j'ai:
</sceneframe>http://P_IP/vas/sceneframe/CCTV5/20121014/uuid.jpg</sceneframe>
.
Mais cette solution est pas a conserver a long terme.
puis-je avoir de l'aide sur comment resoudre le probleme
merci
edit: je precise que je suis vraiment passable en php, et que notre boite n'a pas de php developper et donc a c'est a nous les C developper de faire ca... :'(
Partager