warning accept de SOCKET
Publicado por Alejandro (1 intervención) el 19/07/2007 15:18:27
Hola a todos
Tengo un pequeño problema con un servidor socket que estoy tratando de desarrollar, el cual funciona aparentemente bien, el problema es cuando compilo me da un warning en la funcion accept() el cual estoy armandola de esta forma:
int main(){
int socket_servidor, socket_cliente;
struct sockaddr_in servidor,cliente;
int control;
int clientelen;
/*---------------------------------------------------------------------------------------+
| CARGAR EL ARCHIVO DE CONFIGURACION |
+---------------------------------------------------------------------------------------*/
control=fileConfig("../cfg/sdpagos.cfg", &configArchivo);
if (control==0){
printf("ERROR: El archivo de configuracion no puede ser leido o no existe.\n");
exit(1);
}
/*---------------------------------------------------------------------------------------+
| ACTIVAR EL SOCKET SERVER |
+---------------------------------------------------------------------------------------*/
/* Abrimos el socket */
socket_servidor=socket(PF_INET,SOCK_STREAM,0);
/* Rellenamos la estructura para pedir puerto */
servidor.sin_family=AF_INET;
servidor.sin_port=htons(configArchivo.puerto);
servidor.sin_addr.s_addr=INADDR_ANY;
/* Solicitud del puerto en el servidor */
if (bind(socket_servidor,(struct sockaddr *)&servidor,sizeof(servidor))==-1) {
printf("Error!! no puedo coger el puerto!!! puerto=[%d]\n",configArchivo.puerto);
exit(-1);
}
close(socket_servidor);
/* Abrimos el socket */
socket_servidor=socket(PF_INET,SOCK_STREAM,0);
/* Rellenamos la estructura para pedir puerto */
servidor.sin_family=AF_INET;
servidor.sin_port=htons(configArchivo.puerto);
servidor.sin_addr.s_addr=INADDR_ANY;
/* Solicitud del puerto en el servidor */
if (bind(socket_servidor,(struct sockaddr *)&servidor,sizeof(servidor))==-1) {
printf("Error!! no puedo coger el puerto!!! puerto=[%d]\n",configArchivo.puerto);
exit(-1);
}
/*socket_servidor=starSocketServer(configArchivo.puerto, &servidor);*/
/*---------------------------------------------------------------------------------------+
| ESCUCHAR EL SOCKET SERVER |
+---------------------------------------------------------------------------------------*/
listen(socket_servidor,1);
/*---------------------------------------------------------------------------------------+
| RECIBES UNA PETICION DEL CLIENTE AL SOCKET SERVER |
+---------------------------------------------------------------------------------------*/
while(1){
clientelen=sizeof (struct sockaddr );
socket_cliente = accept( socket_servidor ,(struct sockaddr *)&cliente ,&clientelen);
if(requestCliente(socket_cliente)==0){
printf("Error: Recibiendo por el socket\n");
};
close(socket_cliente);
}
return 0;
}
y me envia el siguiente warning:
Compilando...
sdpagos_pre.c: In function `main':
sdpagos_pre.c:492: warning: passing arg 3 of `naccept' from incompatible pointer type
si pueden ayudarme seria genial, muchas gracias de ante mano.
AB
Tengo un pequeño problema con un servidor socket que estoy tratando de desarrollar, el cual funciona aparentemente bien, el problema es cuando compilo me da un warning en la funcion accept() el cual estoy armandola de esta forma:
int main(){
int socket_servidor, socket_cliente;
struct sockaddr_in servidor,cliente;
int control;
int clientelen;
/*---------------------------------------------------------------------------------------+
| CARGAR EL ARCHIVO DE CONFIGURACION |
+---------------------------------------------------------------------------------------*/
control=fileConfig("../cfg/sdpagos.cfg", &configArchivo);
if (control==0){
printf("ERROR: El archivo de configuracion no puede ser leido o no existe.\n");
exit(1);
}
/*---------------------------------------------------------------------------------------+
| ACTIVAR EL SOCKET SERVER |
+---------------------------------------------------------------------------------------*/
/* Abrimos el socket */
socket_servidor=socket(PF_INET,SOCK_STREAM,0);
/* Rellenamos la estructura para pedir puerto */
servidor.sin_family=AF_INET;
servidor.sin_port=htons(configArchivo.puerto);
servidor.sin_addr.s_addr=INADDR_ANY;
/* Solicitud del puerto en el servidor */
if (bind(socket_servidor,(struct sockaddr *)&servidor,sizeof(servidor))==-1) {
printf("Error!! no puedo coger el puerto!!! puerto=[%d]\n",configArchivo.puerto);
exit(-1);
}
close(socket_servidor);
/* Abrimos el socket */
socket_servidor=socket(PF_INET,SOCK_STREAM,0);
/* Rellenamos la estructura para pedir puerto */
servidor.sin_family=AF_INET;
servidor.sin_port=htons(configArchivo.puerto);
servidor.sin_addr.s_addr=INADDR_ANY;
/* Solicitud del puerto en el servidor */
if (bind(socket_servidor,(struct sockaddr *)&servidor,sizeof(servidor))==-1) {
printf("Error!! no puedo coger el puerto!!! puerto=[%d]\n",configArchivo.puerto);
exit(-1);
}
/*socket_servidor=starSocketServer(configArchivo.puerto, &servidor);*/
/*---------------------------------------------------------------------------------------+
| ESCUCHAR EL SOCKET SERVER |
+---------------------------------------------------------------------------------------*/
listen(socket_servidor,1);
/*---------------------------------------------------------------------------------------+
| RECIBES UNA PETICION DEL CLIENTE AL SOCKET SERVER |
+---------------------------------------------------------------------------------------*/
while(1){
clientelen=sizeof (struct sockaddr );
socket_cliente = accept( socket_servidor ,(struct sockaddr *)&cliente ,&clientelen);
if(requestCliente(socket_cliente)==0){
printf("Error: Recibiendo por el socket\n");
};
close(socket_cliente);
}
return 0;
}
y me envia el siguiente warning:
Compilando...
sdpagos_pre.c: In function `main':
sdpagos_pre.c:492: warning: passing arg 3 of `naccept' from incompatible pointer type
si pueden ayudarme seria genial, muchas gracias de ante mano.
AB
Valora esta pregunta


0