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