Bonjour a tous,
voici mon petit programme Serveur UDP:
#include<stdio.h>
#include<string.h>
#include<signal.h>
#include<sys/time.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<netdb.h>
#define PORTS 6260 //port serveur
int main(void)
{
struct sockaddr_in sin_serv; // structure pr le serveur
struct sockaddr_in sin_clien; // structeur pr le client
int namelen, sock_serv;
int pid, statut,n,i,lg;
char line[100];
if(sock_serv=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)<0)
{
perror("socket" );
return 0;
}
bzero(&sin_serv,sizeof(sin_serv));
sin_serv.sin_family=AF_INET;
sin_serv.sin_port=htons(PORTS);
sin_serv.sin_addr.s_addr=INADDR_ANY;
if(bind(sock_serv,(struct sockaddr *)&sin_serv,sizeof(sin_serv))<0)
{
perror("bind" );
return 0;
}
/************ Reçevoir le message **************/
int size_sin_clien=sizeof(sin_clien);
n=recvfrom(sock_serv,line,strlen(line),0,(struct sockaddr *)&sin_clien,&size_sin_clien);
printf("me message %s est bien recu sa longueur est: %d", line,strlen(line));
return 1;
}
sous Linux(Ubuntu): aucune erreur MAIS lorsque je l'exécute il m'affiche une erreur: bind:Socket operation on non-socket! pourquoi cette erreur? et sa veux dire quoi? Merci
Partager