SocketTlsReadAvailable

Lee todos los datos disponibles de una conexión TLS protegida.

int  SocketTlsReadAvailable(
   int           socket,               // socket
   uchar&        buffer[],             // búfer para leer los datos del socket
   const uint    buffer_maxlen         // número de bytes que deben ser leídos
   );

Parámetros

socket

[in]  Manejador del socket retornado por la función SocketCreate. Al transmitir un manejador incorrecto, en _LastError se registra el error 5270 (ERR_NETSOCKET_INVALIDHANDLE).

buffer

[out]  Enlace a la matriz de tipo uchar en la que se leerán los datos. El tamaño de la matriz dinámica aumenta en el número de bytes leídos. El tamaño de la matriz no puede superar INT_MAX (2147483647).

buffer_maxlen

[in]  Número de bytes que deben ser leídos en la matriz buffer[]. Los datos que no han cabido en la matriz se quedarán en el socket. Será posible obtenerlos con la siguiente llamada de SocketTlsReadAvailable o SocketTlsRead. El valor de buffer_maxlen no puede superar INT_MAX (2147483647).

Valor retornado

En caso de éxito, retorna el número de bytes leídos, en caso de error, retorna -1.

Observación

Si al ejecutar esta función aparece un error en el socket de sistema, la conexión establecida a través de SocketConnect será interrumpida.

Si se da un error de lectura de datos, en _LastError se registrará el error 5273 (ERR_NETSOCKET_IO_ERROR).

Solo se puede llamar la función desde los expertos y scripts, puesto que funcionan en su propio flujo de ejecución. Si se llama desde el indicador, GetLastError() retornará el error 4014 — "La función de sistema no está permitida para la llamada".

Mire también

SocketTimeouts, MathSwap