Estoy haciendo una apli que conecta con un servidor para obtener datos de este.
Veo, que en Autoit 3.3.6.1 la función TcpClose ha cambiado su nombre y ahora es TcpCloseSocket. Mirando su funcionamiento en la ayuda, veo que pone que si el socket se cierra correctamente devuelve 1, mientras que si ocurre un error devuelve -1...
Además, veo, que pone que cierra los sockets creados por TcpListen y TcpAccept... ¿no cierra los sockets creados con TcpConnect? (la función que estoy usando yo para conectar como cliente a un servidor).
La cosa es, que he hecho algo así para cerrar el socket:
Código: Seleccionar todo
$ShockClose=TcpCloseSocket($ShockConn) ;Cierra el socket.
If $ShockClose=-1 Then Return 0 ;Si no se cierra el socket - Devuelve error.
Vamos, según AutoIt, se cumple la condición que comrueba si falló el cierre del socket (estando todo correcto). Pero, lo más curioso, es, que si compruebo con un msgbox() lo que devuelve TcpCloseSocket, devuelve "true". Osea, lo que efectivamente dice la ayuda que devuelve si el socket se cierra bien. Entonces, haciendo:
Código: Seleccionar todo
$ShockClose=TcpCloseSocket($ShockConn) ;Cierra el socket.
If Not $ShockClose Then Return 0 ;Si no se cierra el socket.
La pregunta es ¿TcpCloseSocket() cierra sockets creados con TcpConnect()?.
Me da lo mismo hacerlo de una forma u otra mientras funcione, pero si no va a hacer nada es tontería tener ese código ahí...
Salu2!