Warning en mi socket server UDP

Temas relacionados con la programación de aplicaciones que funcionan sobre un servidor.
Responder
Mensaje
Autor
cris7ian
Mensajes: 19
Registrado: 19/11/2010 12:47 pm

Warning en mi socket server UDP

#1 Mensaje por cris7ian » 06/12/2010 6:40 am

Estimados

mi proigrama lo que hace es escuchar de un puerto y lo que recibe lo guarda en un txt.

cuando compilo como

Código: Seleccionar todo

gcc U_server.c -o server
me salen unos warning que nose que significan.
Aquí les dejo los warning:
user@user:~/Escritorio/unix$ gcc U_server.c -o server
U_server.c: In function ‘main’:
U_server.c:47: warning: assignment from incompatible pointer type
U_server.c:55: warning: passing argument 1 of ‘fprintf’ from incompatible pointer type
/usr/include/stdio.h:333: note: expected ‘struct FILE * __restrict__’ but argument is of type ‘char **’
U_server.c:55: warning: passing argument 2 of ‘fprintf’ from incompatible pointer type
/usr/include/stdio.h:333: note: expected ‘const char * __restrict__’ but argument is of type ‘char (*)[100]’
U_server.c:55: warning: format not a string literal and no format arguments
Trabajo sobre Ubuntu 10.04, Gnome y es un programa en C

Avatar de Usuario
rir3760
Mensajes: 7553
Registrado: 01/10/2004 11:00 pm
Ubicación: Mexico

#2 Mensaje por rir3760 » 07/12/2010 7:51 am

Para darte una solucion debes publicar al menos el fragmento de codigo donde se encuentran las lineas que generan el error (47 y 55 de "U_server.c").

En buen cristiano el mensaje sobre el primer error en la linea 55 indica que le pasas a la funcion fprintf un "char **" como primer argumento cuando deberia ser el "FILE *" obtenido mediante una llamada anterior a fopen.

Mejor publica el codigo fuente del programa.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

cris7ian
Mensajes: 19
Registrado: 19/11/2010 12:47 pm

#3 Mensaje por cris7ian » 07/12/2010 10:56 am

me dice que fprintf es incompatible, nose si lo toma como puntero o chart.
ahi va el codigo mi estimado
Última edición por cris7ian el 14/12/2010 7:58 am, editado 1 vez en total.

Avatar de Usuario
rir3760
Mensajes: 7553
Registrado: 01/10/2004 11:00 pm
Ubicación: Mexico

#4 Mensaje por rir3760 » 07/12/2010 3:48 pm

No me voy a cansar de repetir esto, lo digo en buen plan: antes de iniciar el desarrollo un programa medianamente completo debes manejar con soltura el lenguaje, si no lo haces vas tener problemas tanto con lo basico del lenguaje (tu caso) como cuando se presente algo relacionado con el servidor (lo complicado).

El primer error critico y evidente es:

Código: Seleccionar todo

int main(int argc, char *argv[], char *archivo[])
{

/* ... */

      //*Si no lo logramos abrir, salimos
      archivo = fopen("ConexionUDP.txt", "a");
Veamos:

1) La definicion de la funcion main debe ser "int main(void) ..." o bien "int main() ..." ya que esas dos formas son la unicas garantizadas en cualquier compilador de C.

2) El valor de retorno de la funcion fopen es de tipo "FILE *" y tratas de almacenarlo en una variable (invalida por varias razones) de tipo "char *archivo[]", eso causa el mensaje de advertencia sobre tipos incompatibles de punteros.

Ese es el primer error a corregir.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

cris7ian
Mensajes: 19
Registrado: 19/11/2010 12:47 pm

#5 Mensaje por cris7ian » 09/12/2010 12:32 pm

ok

maithly
Mensajes: 1
Registrado: 23/12/2013 3:44 am

#6 Mensaje por maithly » 23/12/2013 3:48 am

Hola quería saber si me pueden ayudar a elegir un proyecto que tengo que realizar el cual tiene q contener socket , procesos e hilos y que resuelva algún problema de concurrencia con semáforos . La verdad que estoy un poco nublado y no se que es lo q puedo hacer que no sea un servidor ftp . Cualquier ayuda sera bienvenida . Saludos
MAITHLY

Bobby03
Mensajes: 1
Registrado: 11/03/2019 2:38 pm

Re: Warning en mi socket server UDP

#7 Mensaje por Bobby03 » 11/03/2019 2:41 pm

cris7ian escribió:
06/12/2010 6:40 am
Estimados

mi proigrama lo que hace es escuchar de un puerto y lo que recibe lo guarda en un txt.

cuando compilo como

Código: Seleccionar todo

gcc U_server.c -o server
me salen unos warning que nose que significan.
Aquí les dejo los warning:
user@user:~/Escritorio/unix$ gcc U_server.c -o server
U_server.c: In function ‘main’:
U_server.c:47: warning: assignment from incompatible pointer type
U_server.c:55: warning: passing argument 1 of ‘fprintf’ from incompatible pointer type
/usr/include/stdio.h:333: note: expected ‘struct FILE * __restrict__’ but argument is of type ‘char **’
U_server.c:55: warning: passing argument 2 of ‘fprintf’ from incompatible pointer type
/usr/include/stdio.h:333: note: expected ‘const char * __restrict__’ but argument is of type ‘char (*)[100]’
U_server.c:55: warning: format not a string literal and no format arguments
Trabajo sobre Ubuntu 10.04, Gnome y es un programa en C
Es un poco complicado, ¿verdad?

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado