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 :

Chat POO PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Par défaut Chat POO PHP
    Bonsoir,
    j'essaye de réaliser un chat orienté objet avec un client et serveur socket.

    J'ai récupéré un client en js que j'essaye de transformer en php objet
    malheureusement je ne connais pas bien le js.

    merci d'avance
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    $(document).ready(function(){
    	//create a new WebSocket object.
    	var wsUri = "ws://localhost:9000/server.php"; 	
    	websocket = new WebSocket(wsUri); 
     
    	websocket.onopen = function(ev) { // connection is open 
    		$('#message_box').append("<div class=\"system_msg\">Connecté!</div>"); //notify user
    	}
     
    	$('#send-btn').click(function(){ //use clicks message send button	
    		var mymessage = $('#message').val(); //get message text
    		var myname = $('#name').val(); //get user name
     
    		if(myname == ""){ //empty name?
    			alert("Entrer votre nom");
    			return;
    		}
    		if(mymessage == ""){ //emtpy message?
    			alert("Entrer votre message!");
    			return;
    		}
    		document.getElementById("name").style.visibility = "hidden";
     
    		var objDiv = document.getElementById("message_box");
    		objDiv.scrollTop = objDiv.scrollHeight;
    		//prepare json data
    		var msg = {
    		message: mymessage,
    		name: myname,
    		color : '<?php echo $colours[$user_colour]; ?>'
    		};
    		//convert and send data to server
    		websocket.send(JSON.stringify(msg));
    	});
     
    	//#### Message received from server?
    	websocket.onmessage = function(ev) {
    		var msg = JSON.parse(ev.data); //PHP sends Json data
    		var type = msg.type; //message type
    		var umsg = msg.message; //message text
    		var uname = msg.name; //user name
    		var ucolor = msg.color; //color
     
    		if(type == 'usermsg') 
    		{
    			$('#message_box').append("<div><span class=\"user_name\" style=\"color:#"+ucolor+"\">"+uname+"</span> : <span class=\"user_message\">"+umsg+"</span></div>");
    		}
    		if(type == 'system')
    		{
    			$('#message_box').append("<div class=\"system_msg\">"+umsg+"</div>");
    		}
     
    		$('#message').val(''); //reset text
     
    		var objDiv = document.getElementById("message_box");
    		objDiv.scrollTop = objDiv.scrollHeight;
    	};
     
    	websocket.onerror	= function(ev){$('#message_box').append("<div class=\"system_error\">Erreur- "+ev.data+"</div>");}; 
    	websocket.onclose 	= function(ev){$('#message_box').append("<div class=\"system_msg\">Connection FERMER</div>");}; 
    });

  2. #2
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Salut,

    PHP est un langage serveur, je doute que tu puisse transformer un code JS, uniquement en PHP, surtout avec des interactions temps réel.
    Tu dois forcément avoir une partie JS pour envoyer les info au serveur PHP.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Ton client javascript utilise les websocket (une socket http permanente, pour faire simple). En PHP il n'ya pas de serveur websocket par défaut.
    Tu peux éventuellement te cogner la norme des websocket et l'implémenter toi même via une socket classique (ca va être très long et chiant).

    Ou alors tu utilise une librairie qui peux gérer ca pour toi comme par exemple Ratchet.

    Tu as également un tuto sur DVP qui traite de ce sujet précis : http://sii-rennes.developpez.com/art...es-websockets/
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [POO] PHP 5 - gestion de la persistance
    Par BRAUKRIS dans le forum Langage
    Réponses: 12
    Dernier message: 07/07/2010, 13h34
  2. Réponses: 2
    Dernier message: 21/10/2005, 11h26
  3. [POO] [PHP 5 CLASSES]Source à part?
    Par Jean_Benoit dans le forum Langage
    Réponses: 3
    Dernier message: 20/10/2005, 11h50
  4. [POO] PHP et la gestion des classes
    Par Acti dans le forum Langage
    Réponses: 7
    Dernier message: 23/09/2005, 00h06

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