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

Linux Discussion :

programmer un chat via les sockets


Sujet :

Linux

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut programmer un chat via les sockets
    bonjour a ts je dois faire en sorte de pouvoir dialoguer (chat) avec un autre pc via les sockets, g reussi a trouver ca:
    Code c : 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
     
    #ifdef HAVE_CONFIG_H
    #include <config.h>
    #endif
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/socket.h>
    #include <sys/types.h>
    #include <netdb.h>
    #include <string.h>
    #include <unistd.h>
    #include <assert.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <errno.h>
     
    const int port = 8008;
    const char * message = "Bonjour";
     
    /*void message (char);
     
    void message (char)
    {
    	do
    	{
     
    	}while(1)
    }*/
     
    int main(int argc, char ** argv)
    {
      struct sockaddr_in sock_host;
      int sock;
     
      /* ouverture d'une socket */
      sock = socket(AF_INET, SOCK_STREAM, 0);
     
      /* on cree l'adresse de la machine distante */
      memset(& sock_host, '\0', sizeof(sock_host));
      sock_host.sin_family = AF_INET;
      sock_host.sin_port = htons(port);
      inet_aton("193.1.84.7", & sock_host.sin_addr);
     
      /* on demande une connection sur l'adresse distante */
      connect(sock, (struct sockaddr *) & sock_host, sizeof(sock_host));
     
      /* on envoi le message sur le serveur */
      write(sock, message, strlen(message));
     
      /* on ferme la socket */
      close(sock);
     
      return 0;
    }

    voici mon client est ce que quelqu'un pourrait m'aider a le completer svp

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mouskro76 Voir le message
    bonjour a ts je dois faire en sorte de pouvoir dialoguer (chat) avec un autre pc via les sockets, g reussi a trouver ca:
    Code c : 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
     
    #ifdef HAVE_CONFIG_H
    #include <config.h>
    #endif
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/socket.h>
    #include <sys/types.h>
    #include <netdb.h>
    #include <string.h>
    #include <unistd.h>
    #include <assert.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <errno.h>
     
    const int port = 8008;
    const char * message = "Bonjour";
     
    /*void message (char);
     
    void message (char)
    {
    	do
    	{
     
    	}while(1)
    }*/
     
    int main(int argc, char ** argv)
    {
      struct sockaddr_in sock_host;
      int sock;
     
      /* ouverture d'une socket */
      sock = socket(AF_INET, SOCK_STREAM, 0);
     
      /* on cree l'adresse de la machine distante */
      memset(& sock_host, '\0', sizeof(sock_host));
      sock_host.sin_family = AF_INET;
      sock_host.sin_port = htons(port);
      inet_aton("193.1.84.7", & sock_host.sin_addr);
     
      /* on demande une connection sur l'adresse distante */
      connect(sock, (struct sockaddr *) & sock_host, sizeof(sock_host));
     
      /* on envoi le message sur le serveur */
      write(sock, message, strlen(message));
     
      /* on ferme la socket */
      close(sock);
     
      return 0;
    }

    voici mon client est ce que quelqu'un pourrait m'aider a le completer svp
    A mon avis, le but de ton TP est de t'apprendre à créer ce programme, pas à t'apprendre comment en trouver un déjà fait ou te le faire faire par les autres
    => Cours et tutoriels Linux

Discussions similaires

  1. Tuto "chat" sur les Sockets
    Par flyxter dans le forum Langage
    Réponses: 2
    Dernier message: 02/08/2007, 13h04
  2. programmer en réseau sans les sockets
    Par darkbob dans le forum Développement
    Réponses: 4
    Dernier message: 21/06/2007, 15h23
  3. erreur lors de l'envoie de donné via les socket.
    Par poporiding dans le forum C++
    Réponses: 1
    Dernier message: 23/05/2006, 14h23
  4. Le chat (avec les sockets) sans frames.
    Par azmeuk dans le forum Langage
    Réponses: 1
    Dernier message: 18/10/2005, 19h47
  5. ICMP Echo via les Sockets
    Par trinity.sakura dans le forum Langage
    Réponses: 4
    Dernier message: 12/09/2005, 16h01

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