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:
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:
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