elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error Socket??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Error Socket??  (Leído 5,610 veces)
<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Error Socket??
« en: 28 Junio 2011, 08:40 am »

Hola tengo el siguiente error estoy practicando socket y estoy tratando de compilar este código que me encontre por hay pero me da los siguientes errores cuando intento compilar:

servidor.cpp: In function ‘int main(int, char**)’:
servidor.cpp:34:73: error: invalid conversion from ‘int*’ to ‘socklen_t*’
servidor.cpp:34:73: error:   initializing argument 3 of ‘int accept(int, sockaddr*, socklen_t*)


Bueno el código es este:

Código
  1. #define PORTNUM 2343
  2.  
  3. int main(int argc, char *argv[])
  4. {
  5.    char msg[] = "Hello World !\n";
  6.  
  7.    struct sockaddr_in dest; /* socket info about the machine connecting to us */
  8.    struct sockaddr_in serv; /* socket info about our server */
  9.    int mysocket;            /* socket used to listen for incoming connections */
  10.    int socksize = sizeof(struct sockaddr_in);
  11.  
  12.    memset(&serv, 0, sizeof(serv));    /* zero the struct before filling the fields */
  13.    serv.sin_family = AF_INET;         /* set the type of connection to TCP/IP */
  14.    serv.sin_addr.s_addr = INADDR_ANY; /* set our address to any interface */
  15.    serv.sin_port = htons(PORTNUM);    /* set the server port number */    
  16.  
  17.    mysocket = socket(AF_INET, SOCK_STREAM, 0);
  18.  
  19.    /* bind serv information to mysocket */
  20.    bind(mysocket, (struct sockaddr *)&serv, sizeof(struct sockaddr));
  21.  
  22.    /* start listening, allowing a queue of up to 1 pending connection */
  23.    listen(mysocket, 1);
  24.  
  25.    int consocket = accept(mysocket, (struct sockaddr *)&dest, &socksize);
  26.  
  27.    while(consocket)
  28.    {
  29.        printf("Incoming connection from %s - sending welcome\n", inet_ntoa(dest.sin_addr));
  30.        send(consocket, msg, strlen(msg), 0);
  31.    }
  32.  
  33.    close(consocket);
  34.    close(mysocket);
  35.    return EXIT_SUCCESS;
  36. }
  37.  



En línea

<<<--Basura-->>>
<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: Error Socket??
« Respuesta #1 en: 28 Junio 2011, 21:22 pm »

Alguien Sabe  :huh: ???


En línea

<<<--Basura-->>>
Queta

Desconectado Desconectado

Mensajes: 267



Ver Perfil
Re: Error Socket??
« Respuesta #2 en: 28 Junio 2011, 23:20 pm »

Teóricamente te debería compilar, si introdujeras las bibliotecas correspondientes. ¿Cómo compilaste?

Además de que no sé de dónde has sacado la función close...
En línea

"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.
<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: Error Socket??
« Respuesta #3 en: 28 Junio 2011, 23:46 pm »

esta es la linea que me manda error las demás están bien pero no se porque  >:D

Código
  1. int consocket = accept(mysocket, (struct sockaddr *)&dest, &socksize);
En línea

<<<--Basura-->>>
Queta

Desconectado Desconectado

Mensajes: 267



Ver Perfil
Re: Error Socket??
« Respuesta #4 en: 28 Junio 2011, 23:53 pm »

¿No te da errores, si no incluyes las librerías?

No sé, depura y mira qué pasa. Te debería funcionar, si no, crea un nuevo proyecto.
En línea

"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.
Queta

Desconectado Desconectado

Mensajes: 267



Ver Perfil
Re: Error Socket??
« Respuesta #5 en: 28 Junio 2011, 23:54 pm »

Además de que no sé de dónde has sacado la función close...
En línea

"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.
<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: Error Socket??
« Respuesta #6 en: 28 Junio 2011, 23:54 pm »

Si incluí las librerías solamente que no las puse cuando mostré todo el código:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <unistd.h>
  5. #include <arpa/inet.h>
  6. #include <sys/types.h>
  7. #include <netinet/in.h>
  8. #include <sys/socket.h>
  9.  
  10. #define PORTNUM 2343
  11.  
En línea

<<<--Basura-->>>
<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: Error Socket??
« Respuesta #7 en: 28 Junio 2011, 23:58 pm »

Como puse al principio, el código no es mio lo tome prestado, y si borras las lineas de close, siempre tira el mismo error en las mismas lineas
En línea

<<<--Basura-->>>
Queta

Desconectado Desconectado

Mensajes: 267



Ver Perfil
Re: Error Socket??
« Respuesta #8 en: 29 Junio 2011, 00:09 am »

Pensaba que trabajabas con los sockets de Windows, entonces close sí existe. No sé, te voy a decir como ultimátum que cambies el tercer parámetro por un puntero a socklen_t :

Citar
a pointer to a socklen_t location that specifies the size of the client address structure passed to accept(). When accept() returns, this location indicates how many bytes of the structure were actually used.
En línea

"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.
<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: Error Socket??
« Respuesta #9 en: 29 Junio 2011, 00:37 am »

Bien tenias toda la razón eso es!!  ;D ;D
En línea

<<<--Basura-->>>
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error de transmision por socket « 1 2 »
Programación Visual Basic
Nanoc 12 8,770 Último mensaje 22 Agosto 2013, 19:01 pm
por pepepoing
recv() socket error?
Programación C/C++
Riki_89D 6 3,990 Último mensaje 14 Octubre 2011, 21:09 pm
por Riki_89D
Error al mandar datos via Socket
Programación C/C++
agustito6 1 1,898 Último mensaje 5 Agosto 2015, 15:06 pm
por agustito6
Error en Socket No encuentra funcion CANCELIOEX para Windows XP
Redes
fazuor 0 3,131 Último mensaje 10 Febrero 2017, 03:16 am
por fazuor
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines