IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

stream_socket_client() en PHP4


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Par défaut stream_socket_client() en PHP4
    voila mon probleme est que je veux reccuperer les info d'un serveur de jeux quake3, donc en php j'utilise "stream_socket_client()" le souci c'est que mon serveur OVH est en php4.4.8 et stream_socket_client() n'est donc pas une fonction reconnue,

    comment puis-je remplacer stream_socket_client() sous php4 ?

    merci

  2. #2
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    Normalement via le fichier .htaccess sur les hébergements OVH on sait forcer le PHP5 non?

  3. #3
    Membre éclairé
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Par défaut
    oui en effet je viens de voir ca
    mais il semblerais que OVH n'accepte pas les stream_socket sur un UDP
    je sais pas comment resoudre ca

  4. #4
    Membre éclairé
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Par défaut
    voila un bout de code que j'ai récupéré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    define ('QUAKE3',"\xFF\xFF\xFF\xFFgetstatus\x00");
     
    	function getpString(&$chaine, $stop="\\")
    	{
    		$data = substr($chaine, 0, strpos($chaine, $stop));
    		$chaine = substr($chaine, strpos($chaine, $stop) + 1);
    		return ($data);
    	}
     
    	function getInfosQuake3($reponse, &$info)
    	{
    		$reponse = substr($reponse, strpos($reponse, chr(10)) + 2);
    		$joueurs = substr($reponse, strpos($reponse, chr(10)) + 2);
    		$reponse = substr($reponse, 0, strpos($reponse, chr(10)));
    		while ($reponse != "")
    			$info[getpString($reponse)] = getpString($reponse);
    		if (!empty($joueurs))
    		{
    			$info['listplayers'] = Array();
    			while ($joueurs != "")
    			{
    				$details = getpString($joueurs, chr(10));
    				array_push($info['listplayers'], array("frag" => getpString($details, ' '), "ping" => getpString($details, ' '), "name" => $details));
    			}
    		}
    		return (1);
    	}
     
    function infoServ($ip, $port, &$info, $cmd)
    	{
    		$socket = stream_socket_client('udp://'.$ip.':'.$port, $errno);
    		if (empty($errno))
    		{
    			stream_set_timeout($socket, 1);
    			$length = strlen($cmd);
    			fwrite($socket, $cmd, $length);
    			$reponse = fread($socket, 1500);
    		}
    		if (empty($reponse))
    			return (0);
    		else
    		{
    			if (substr($reponse, 0, 5) == "\xFF\xFF\xFF\xFFs")
    				return (getInfosQuake3($reponse,$info));
    			else
    				return (0);
    		}
    	}
    pour une raison que j ignore ca ne marche qu'en local (la verif de "empty($reponse)" retourne TRUE sur free et OVH alors que sur mon wamp ca passe sans probleme)
    quelqu un pourrais m'aider ?

    (je suis une bille en reseau :/)

  5. #5
    Membre éclairé
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Par défaut
    en faisant des teste en codant legermeent differament il se trouve que le serveur OVH refuserais les envoies d'information

    car en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stream_socket_sendto($fd, "\xFF\xFF\xFF\xFFgetstatus\x00");
    j'ai un retour en warning :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: stream_socket_sendto() [function.stream-socket-sendto]: Operation not permitted in /xxxxxx/xxxxxx/gameserver.php on line 34
    quelqu'un sait comment contourner ca siouplait ?

  6. #6
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    Ben tu peux toujours envoyer un message au support OVH pour savoir quelle solution est autorisée pour contourner le problème.

    (Bien sûr tu reçois une réponse 48h après avec leur support de feu )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/09/2005, 12h54
  2. [SGBD] [PHP4 et MySQL 4.1.14]
    Par saidus dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 22/09/2005, 10h42
  3. COMPARAISON PHP5 ET PHP4
    Par bassem82 dans le forum Langage
    Réponses: 5
    Dernier message: 14/09/2005, 01h01
  4. passage de Mysql 3.23 a 4.1 avec php4
    Par epeichette dans le forum Installation
    Réponses: 4
    Dernier message: 09/04/2005, 21h33
  5. mySQL4.1 - PHP5 - conversion PHP4
    Par messier79 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 30/10/2004, 23h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo