Bonsoir, je dois coder un serveur en c sous Windows avec comme compilateur borland mais j'ai des erreur que je n'arrive pas a résoudre.
J'ai fait des quelques recherche mais je n'est rien trouver de spécial.
voici mon code
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <string.h>
#include <winsock.h>
#include <io.h>
#define PORT 4000
int main()
{
struct sockaddr_in nom;
int sd, acc, lg;
int optval=1;
char buff[32];
char nom_serveur[15];
/****************************************/
/* OBTENTION D'UN DESCRIPTEUR DE SOCKET */
/****************************************/
sd=socket(AF_INET, SOCK_STREAM,0);
if (sd==-1)
{
printf("appel socket refuse\n");
exit(0);
}
/* Changement du parametre de la socket pour permettre */
/* une reutilisation immediate apres sa fermeture */
int setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int));
bzero((char*)&nom,sizeof(nom));
nom.sin_port=htons(PORT);
nom.sin_addr.s_addr= INADDR_ANY;
nom.sin_family=AF_INET;
/* BIND */
/********/
if ((bind(sd,(struct sockaddr*)&nom,sizeof(nom))==-1))
{
printf("ERREUR SUR BIND");
exit(2);
}
/**********/
/* LISTEN */
/**********/
listen(sd,1);
/*********************/
/* MESSAGE D'ACCEUIL */
/*********************/
if ((gethostname(nom_serveur,sizeof(nom_serveur)))==-1)
{
perror("1 HOST LOCAL INCONNU");
exit(2);
}
printf("========================================\n");
printf(" SERVEUR SUR %s \n",nom_serveur);
printf("========================================\n");
/**********/
/* ACCEPT */
/**********/
lg=sizeof(nom);
acc=accept(sd,(struct sockaddr*)&nom,&lg);
if (acc<0)
{
printf("appel a accept refuse\n");
exit(0);
}
/************************************/
/* LECTURE DU MESSAGE SUR LA SOCKET */
/************************************/
read(acc,buff,32);
printf("%s\n",buff);
close(acc);
close(sd);
}
et les erreur que j'obtient
sreveur.cpp(36,19):)expected
sreveur.cpp(38,7):Call to undefined function 'bzero'