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

C++ Discussion :

serveur socket [C]


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 25
    Par défaut serveur socket [C]
    Bonjour,

    J'ai un petit problème pour créer le socket qui servira a faire un chat multi salon

    Pouvez-vous m'expliquer les étapes a suivre pour le créer ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Par défaut
    C'est un sujet très vaste !

    Est ce que tu pourrais préciser les besoins de ton chat (nombre de connectés, cryptage, chatrooms, .... etc) ?

  3. #3
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Et c'est quoi ton problème au juste ?

  4. #4
    Membre averti
    Inscrit en
    Août 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 25
    Par défaut
    Le problème c'est que je n'arrive pas a créer le serveur

    en gros je ne vois pas comment le faire marcher

    Je créer un fichier script.php je met
    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    <?php
    $mainsock = socket_create(AF_INET, SOCK_STREAM, 0);
    socket_set_option($mainsock, SOL_SOCKET,SO_REUSEADDR, 1);
    socket_bind($mainsock, "127.0.0.1", 22222) or die('Could not bind to address');
    socket_listen($mainsock);
    ///////////////////
     
    $clients=Array();
    $compteur=0;
    echo("En attente d'un client !\n");
     
     
     
    while(true){
    	$toread=Array();
    	array_push($toread,$mainsock); 
    	for ($i=0;$i<count($clients);$i++){ // pour tous les clients 
    		array_push($toread,$clients[$i]["SOCKET"]); 
    	}
     
    	socket_select($toread,$a=null,$a=null,$a=null);
     
    	if(in_array($mainsock, $toread)){// le mainsock est dans le tableau $toread.
    		// c'est notre mainsock donc un nouveau client
    		$sock=socket_accept($mainsock); 
    		$compteur++;
    		$nb=count($clients);
    		$clients[$nb]["SOCKET"]=$sock; 
    		$clients[$nb]["UID"]=$compteur; 
     
    		socket_write($sock,"Le serveur vous dit bonjour :-). Vous etes le numero :".$compteur.chr(10).chr(13));
     
    		sendToAll($clients[$nb]["UID"],chr(10).chr(13)."Arrivée du client ".$clients[$nb]["UID"].chr(10).chr(13));
     
    		echo("Arrivée d'un nouveau client !\n");
    	}else{
    		// c'est un client qui dit quelque chose
    		for ($i=0;$i<count($clients);$i++){ // on cherche le client
    			if(in_array($clients[$i]["SOCKET"], $toread)) { // celui la est dans le tableau toread
    				$input = socket_read($clients[$i]["SOCKET"], 1024);
    				if($input==null){
    					/// deconnection du client !
    					for ($j=0;$j<count($clients);$j++){ // on le cherche dans le tableau
    						if($clients[$j]==$clients[$i]){ // trouvé
     
    							sendToAll($clients[$i]["UID"],chr(10).chr(13)."Deconnection du client ".$clients[$j]["UID"].chr(10).chr(13));
     
    							echo("Deconnection du client ".$clients[$j]["UID"]."\n");
    							array_splice($clients,$j,1); // on le retire du tableau
    							$i--;
    						}
    					}
    				}else{
    					/// c'est un message du client qu'il faut traiter.
     
    					sendToAll($clients[$i]["UID"],$input);
    				}
    			}
    		}
    	}
    }
     
     
    function sendToAll($sauf,$msg){
    	global $clients;
     
    	for($i=0;$i<count($clients);$i++){ // pour tous les clients sauf celui qui envoie
    		if($sauf!=$clients[$i]["UID"]){
    			socket_write($clients[$i]["SOCKET"],$msg);
    		}
    	}
    }
    php?>
    mais je suis bloquer ici

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Par défaut
    Il ya un forum php pour les questions de php je crois ?

  6. #6
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    Rien à voir avec du C.

Discussions similaires

  1. [FLASH MX2004] [XMLSocket] Problème avec serveur socket php
    Par cocodunombril dans le forum Flash
    Réponses: 4
    Dernier message: 03/04/2009, 02h10
  2. Cherche code source serveur socket en C
    Par marco13 dans le forum Réseau
    Réponses: 2
    Dernier message: 05/10/2006, 12h05
  3. Compiler du java en natif & Optimisation serveur socket
    Par Skreo dans le forum API standards et tierces
    Réponses: 32
    Dernier message: 09/07/2006, 16h31
  4. problème de serveur socket
    Par hiul dragonfel dans le forum MFC
    Réponses: 3
    Dernier message: 01/06/2006, 11h56
  5. Question client-serveur socket
    Par Lex99 dans le forum Développement
    Réponses: 3
    Dernier message: 07/02/2006, 09h01

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