|
Pages: 1 2 [3]
|
 |
|
Auteur
|
Sujet: Plantage serveur php (Lu 730 fois)
|
JackBauer
Newbie

Messages: 18
|
Salut ^^ Alors, finalement je n'ai pas mis l'option SO_LINGER : du coup je vérifierai s'il arrive que socket_close puisse bloquer, si ça n'arrive pas, ce sera tant mieux  Par contre, j'ai l'impression que le problème de la connexion impossible se reproduit quand même de temps en temps... Jusqu'à il y a 2 minutes, je croyais que ça concernait uniquement les joueurs fraîchement inscrits mais là je viens tout juste d'avoir le cas ! A chaque connection impossible détectée, ça m'envoie un mail donc j'en rate aucune ^^ C'est bizar, dans ces cas là, ça a vraiment le même effet que si le serveur était coupé : - Le serveur lui ne reçoit aucun message, donc il ne renvoie rien... - Flash lui, comme il ne reçoit rien, fait échouer l'event onConnect... J'ai pourtant regardé les logs du serveur aux heures de ces connections échouées, et cette fois-ci il n'a l'air ni bloqué, ni parti en vacances...  Je comprends juste pas  Là, je viens d'avoir l'erreur mais il a suffit que je recommence pour que ça remarche directement. Malheureusement, j'ai le cas d'un joueur fraîchement inscrit qui a réussi à se connecter 1 fois hier. Puis il a ensuite fait 19 tentatives de connection dans la journée, sans qu'aucune ne réussisse ! Et biensûr, à chaque fois le serveur semble n'avoir aucune trace de ses tentatives de connection. Si tu as une piste ou une idée, ça me sauverait encore une fois la vie  Merci beaucoup !!
|
|
|
|
|
Journalisée
|
|
|
|
|
seal3
|
Salut ! Il faut s'assurer déja que le serveur ne bloque pas quelque part due à un socket bloquant ou par exemple un close() qui bloque  . Ensuite il faut regarder du côté du flash, active les log du flash player (tu trouveras sur google) cela t'indiquera si ya eu un soucis de policy-file à un moment donné. Justement pour le policy-file, assure toi que le client ne se connecte pas au moment ou ton script serveur envoie un message à tout le monde. Pour rappel, le client flash se connecte 2 fois au script socket. La premiere fois il réclame le policy-file puis close la connection. La seconde fois il etablit la vraie connection utilisable dans flash. Apres faut voir au niveau du serveur. Est-ce que le serveur ne genere pas des TIME_WAIT (je dis ça parceque j'ai eu ce prob il y'a peu) empechant l'arrivée de nouvelle connections. Est-ce que le script php n'a pas de limite dans le nombre de connections simu (c'est réglable surement, mais de ce que tu dis ça ne dépend pas du nombre de co).
|
|
|
|
|
Journalisée
|
|
|
|
JackBauer
Newbie

Messages: 18
|
Ok merci beaucoup, je vais regarder tout ça. Sinon, j'ai bien vérifié et le serveur ne semble pas bloquer. Le close ne semble pas poser problème non plus. Par contre, est-ce que Flash réclame automatiquement et systématiquement le policy-file ? Car dans la plupart des cas, la connexion se passe exactement comme tu l'as dis : en 2 fois. Mais dans certains cas, j'ai l'impression que Flash ne réclame pas ce policy-file... La connection se déroule alors correctement qd même, mais en une seule fois. C'est normal ?  Pour les TIME_WAIT, je ne vois pas du tout ce que c'est mais j'imagine que ça doit se situer au niveau de la machine qui fait tourner le script ? Pour le nombre de connecté, le problème se pose même quand il y a moins de 10 connectés donc ça ne doit pas être ça ^^ certains joueurs ont l'air d'ailleurs beaucoup plus touché que d'autres... Je me demande si c'est pas peut-être une erreur de parefeu ou truc dans le genre qui viendrait du client ? En tout cas, merci pour ces nouvelles pistes !
|
|
|
|
|
Journalisée
|
|
|
|
|
seal3
|
Oui le TIME_WAIT c'est au niveau du serveur, regarde du côté de netstat en shell.
Sinon pour le firewall ça m'etonne un peu quand même il bloquerait completement ou pas du tout, mais pas de façon intermitante.
Reste aussi à voir la version du player. Avant la 9.XXX le policy-file n'etait pas necessaire.
|
|
|
|
|
Journalisée
|
|
|
|
JackBauer
Newbie

Messages: 18
|
Ok ! Donc ça explique pourquoi certains clients ne demandent pas ce policy-file... Pourtant, après avoir checké, j'ai bien Flash player 10, mais mon Flash ne demande jamais de policy-file au serveur  Je suis un peu perdu Sinon, ce qui me fait penser à un problème venant du client, c'est juste que ça a vraiment l'air de s'acharner sur des joueurs en particulier. Nouveau cas hier : un mec s'inscrit et entre 16h14 et 16h31, il a essayé de se connecter 11 fois mais le serveur n'a reçu aucune de ses demandes... Résultat, il a n'a même pas pu tester le jeu  Pendant ce temps là, le serveur php tournait sans problème et n'était pas du tout surchargé ou bloqué... Tu crois que ça pourrait être leur version de Flash (peut-être plus ancienne) qui rendrait les connections au serveur difficile, voire impossible ? Ou alors le port utilisé par le serveur php qui serait inaccessible depuis chez eux ? Pour info, j'ai laissé le port du tuto : "22222". Merci beaucoup de ton aide.
|
|
|
|
|
Journalisée
|
|
|
|
|
seal3
|
Oui dans ce cas c'est ptet le firewall en effet.
C'est curieux que ton flash player ne réclame jamais de policy-file ! Attention je ne parle pas du crossDomain.xml mais bien du policy-file niveau socket hein ^^
|
|
|
|
|
Journalisée
|
|
|
|
JackBauer
Newbie

Messages: 18
|
En fait dès que mon serveur php reçoit la chaine "<policy-file-request/>", il renvoie au client : '<cross-domain-policy><allow-access-from domain="*" to-ports=22222/></cross-domain-policy>'.chr(0) Donc je n'ai pas de fichier xml. C'est bien ce qu'il faut faire ?  Il me faut peut-être un fichier crossDomain.xml en plus sur le site ?
|
|
|
|
|
Journalisée
|
|
|
|
|
seal3
|
jete un oeil au cas ou sur le site d'adobe (via google) ptet q effectivement les anciens players cherchent le crossdomain.xml.
|
|
|
|
|
Journalisée
|
|
|
|
|
|
Pages: 1 2 [3]
|
|
|
 |