[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [escepticos] Re: ** FW: virus alert



Pedro Maicas wrote:
>   Borja, he vuelto a hacer pruebas y más pruebas. Tal como
> tu comentabas, he parado el programa con un breakpoint y
> lo he abortado desde el debuger, tambien he cerrado el
> visual-c estando el programa parado y con todos sus sockets
> abiertos, etc...  el resultado es que siempre, siempre, el
> servidor detecta que el socket se ha cerrado intempestivamente.
> He usado visual c++ sin mfc, directamente con el api.

	Pues a mi no me funciona, chico. No se si dependerá
de versiones de Visual o de la MFC o vete a saber qué...
en cualquier caso, si depende de la versión de Visual C++ o
de MFC, chapuza de sistema operativo. Código de usuario
tomando responsabilidades del kernel.

>   Un programador que está tan seguro de que todo lo hace bien
> que no está siquiera dispuesto a considerar la posibilidad
> de haberse equivocado. Cuando le dices que el error es suyo
> se niega a comprobarlo, está tan seguro.... Al final hay que
> cojer el programa, repasarlo, encontrar el error y ponerselo
> delante de las narices. Luego todo son "es que yo creía que ..."
> Lo curioso es que siempre tiene que ser otro el que le haga
> el trabajo porque él se niega a buscar el error.

	Llevo muchos años en esto, y antes de afirmar lo
del problema me he asegurado. Exixte una cosa llamada
netstat que me dice que la conexión está abierta, tan
campante.

>   Y haciendo gala de mis poderes paranormales, voy a aventurar
> donde está error. Imaginemos que pones el breakpoint en el
> cliente inmediatamente antes de un 'send' (es solo un ejemplo),
> entonces el servidor se queda detenido en un 'recv', luego
> vas y abortas el cliente. Bueno, pues ese 'recv' del servidor
> no está contemplando la posibilidad de cierre anormal del socket.
> Es decir que el windows devuelve correctamente una condicion
> de error pero el servidor no se entera porque el programador no
> comprueba ese error.

	Falso, se comprueba. Ya te digo que si cerramos "civilizadamente"
en lugar de salir del Visual, el cierre se detecta, y el servidor
está exactamente en la misma rutina. Además, si miro con netstat
las conexiones en el servidor, siguen abiertas, luego NO es un
fallo de mi programa.

> >       De hecho, me sorprende que sea tan malo, ya que su arquitecto
> >jefe se supone que era David Cutler, arquitecto de VMS y RSX-11.
> 
>  :-))  Lo que te digo, que se vuelven idiotas al entrar en microsoft.

	No lo se, pero el sistema operativo es objetivamente malo.
Así que, qué más da?

	Mira, supongo que la gente se va a aburrir de esta historia, pero
te voy a contar otra. 

	Coge una máquina bien potente con NT, y haz un telnet al
port "chargen" de un sistema Unix. Las veces que he hecho la prueba
(por ejemplo para ver cómo anda de errores y retransmisiones una red)
he perdido el control del interface gráfico en NT. Eso siendo el
server un Pentium Pro y la máquina con Unix un triste 486. La única
forma de recuperarlo fue desconectar la ethernet. Si desde ese mismo
486 con Unix hago un telnet al chargen no me pasa eso. Se nota carga,
pero
NO pierdo el control. Esto ha sido con NT4 y parches más o menos
recientes.

	Lo dicho, 0 en diseño de sistemas operativos. Lo digo y lo mantengo.
Es impresentable.




	Borja.

-- 
***********************************************************************
Borja Marcos			* Internet: borjamar en sarenet.es
Alangoeta, 11 1 izq		*	    borjam en we.lc.ehu.es
48990 - Algorta (Vizcaya)	*           borjam en well.com
SPAIN				*
***********************************************************************