Sockets (problemas en el run-time)

08/11/2003 - 23:04 por Carlos | Informe spam
Hola!

Tengo un pequeño programa con WinSock, que simplemente envía un mensaje
al otro host. Compilo, un par de warnings, pero sin importancia (digo
yo), enlaza, ok. Entonces, lo ejecuto, y me aparece en la pestaña
"Debug" de la barra output:

First-chance exception in ttp.exe (MSAFD.DLL): 0xC0000005: Access
Violation.

Y si lo ejecuto sin depurarlo, me aparece más de lo mismo en un diálogo.
¿Que puede pasar?

Gracias por adelantado,


Carlos RG

P.D.: Tengo un ordenador Pentium III 500 MHz, 64 MB RAM, y Windows
Millenium. Uso Visual C++ 6.0. Y no se me olvidó incluir "wsock32.lib"
al proyecto.

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral González
09/11/2003 - 15:23 | Informe spam
Yo sin duda empezaria por no considerar los warnings como algo sin
importancia. Los warning avisan de que algo esta puede estar mal, hay que
revisarlos y comprobar que no son dañinos y que no se pueden evitar y en ese
caso desabilitar el warning y documentar el motivo de por que se ha
desabilitado.

Lo que ocurre en tu programa es que se esta accediendo a memoria que no es
de tu proceso, geralmente esto se debe a punteros sin inicializar, o a
acceder a memoria que ya se ha liberado. Repasa el uso que haces de la
memoria en tu programa, y comprueba los valores de retorno de todas las
funciones, sobre todo las relacionadas con la inicializacion de la libreria
de sockets y con la construcción de los propio sockets..

Un saludo
Rodrigo Corral González
Respuesta Responder a este mensaje
#2 Carlos
09/11/2003 - 17:53 | Informe spam
Muchas gracias Rodrigo!

Exacto, debería tener los warnings como algo importante. Resultaba que a la
llamada a accept() yo hacía esto:

fd2 = accept(fd, (struct sockaddr *)&cliente, sizeof(struct sockaddr));

Depsués hize esto y se me arregló todo, incluso el runtime error:

sin_size = sizeof(struct sockaddr_in);
fd2 = accept(fd, (struct sockaddr *)&cliente, &sin_size);

Muchas gracias de nuevo,

Carlos RG
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida