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

Entrée/Sortie Java Discussion :

communication entre socket c et java en UDP


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 34
    Points
    34
    Par défaut communication entre socket c et java en UDP
    bonjour,
    j'ai à faire une communication entre un serveur java et client c,j'ai fait le code ,il a l'air d'etre bien mais ca marche pas
    serveur.java
    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
    import java.net.* ;
    import java.io.* ;
     
    public class serverBuffer {
    final static int port = 7777;
     final static int taille = 1024;
     final static byte buffer[] = new byte[taille];
     
        public static void main(String [] args) {
     
     
    	try {
     
     
     
     DatagramSocket socket = new DatagramSocket(port);
     while(true)
     {
     DatagramPacket data = new DatagramPacket(buffer,buffer.length);
     socket.receive(data);
     System.out.println(data.getAddress());
     socket.send(data);
     socket.close();
    }
     
     
    	    //socket.close();
     
    	} catch(IOException e) { }
     
        }
    }
    client.c


    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netdb.h>
     
    /* fonctions des sockets UDP */
    #include "fonctionsUDP.h"
    #define chaine "Hello world !"
    main()
    {
      int sock,               /* descipteur de la socket locale */
          port, tempo,        /* variables de lecture */
          err;                /* code d'erreur */
     // char chaine[100];
     
     // char nomMachine[100];   /* nom de la machine dest */
     
      struct sockaddr_in addrDest;
     
     
     
      /* 
       * Creation d'une socket, domaine AF_INET, protocole TCP 
       */
     
    // printf("client : creation de la socket sur %d\n", atoi( argv[1] ) );
      sock = socketUDP(7777);
      if (sock < 0) {
     
        printf("client : erreur %d de socketUDP \n", sock );
        exit( 2 );
      }
     
      /*
       * Saisie et initialisation de l'adresse du destinataire
       */
     
      err = adresse( "localhost",7777, &addrDest );
      if ( err  == -1 ) {
     
        printf ("client : erreur adresse\n");
        exit( 3 );
      }
     
      /* 
       * Saisie et envoi de la chaine 
       */
     
      err = sendto( sock, chaine, (strlen(chaine)+1), 0, (struct sockaddr*)&addrDest, sizeof( struct sockaddr_in ));
      if ( err!= (strlen(chaine)+1) ) {
          perror("client : erreur sur le send\n");
          exit( 4 );
      }
     
      printf("client : chaine envoyee\n");
     
      /* Fermeture de la socket */
      close(sock);
    }
    merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 876
    Points : 22 939
    Points
    22 939
    Billets dans le blog
    53
    Par défaut
    Ca ne marche pas quoi (message d'erreur, firewall et tout ca) ?

    Ensuite attention Java est big-endian quelques soit la plaforme d'execution tandis que ton programme C sera little-endian sur un CPU de type Intel. De plus les caracteres Java sont sur 16-bits.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 34
    Points
    34
    Par défaut
    le programme client m'envoie comme quoi la chaine est envoyé,par contre ca s'exute et il affiche pas comme quoi ila recu la chaine
    merci

Discussions similaires

  1. Communication entre jquery et servlet java
    Par Philcmoi dans le forum jQuery
    Réponses: 3
    Dernier message: 28/01/2014, 13h25
  2. Réponses: 5
    Dernier message: 12/08/2012, 19h11
  3. Communication entre java et VB : prob de socket
    Par haffouff dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 01/05/2007, 00h14
  4. Réponses: 5
    Dernier message: 29/03/2007, 23h26
  5. [Java] Communication entre client et serveur
    Par danje dans le forum CORBA
    Réponses: 1
    Dernier message: 14/12/2004, 19h08

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