SocketTlsReadAvailable

Lit toutes les données disponibles depuis une connexion TLS sécurisée.

int  SocketTlsReadAvailable(
   int           socket,               // socket
   uchar&        buffer[],             // buffer pour lire les données depuis une socket
   const uint    buffer_maxlen         // nombre d'octets à lire
   );

Parameters

socket

[in]  Handle de la socket retournée par la fonction SocketCreate. Lorsqu'un handle incorrect est passé à _LastError, l'erreur 5270 (ERR_NETSOCKET_INVALIDHANDLE) est activée.

buffer

[out]  Référence au tableau de type uchar dans lequel les données sont lues. La taille du tableau dynamique est augmentée du nombre d'octets lus. La taille du tableau ne peut pas être supérieure à INT_MAX (2147483647).

buffer_maxlen

[in]  Nombre d'octets à lire dans le tableau buffer[]. Les données ne rentrant pas dans le tableau restent dans la socket. Elles peuvent être lues lors de l'appel suivant à SocketTlsReadAvailable ou à SocketTlsRead. buffer_maxlen ne peut pas être supérieur à INT_MAX (2147483647).

Valeur de Retour

Retourne le nombre d'octets lus en cas de succès. Retourne -1 en cas d'erreur.

Note

Si une erreur se produit sur une socket système lors de l'exécution de la fonction, la connexion établie via SocketConnect est interrompue.

En cas d'erreur de lecture des données, l'erreur 5273 (ERR_NETSOCKET_IO_ERROR) est inscrite dans _LastError.

La fonction ne peut être appelée que depuis les Expert Advisors et les scripts, puisqu'ils sont exécutés dans leurs propres threads d'exécution. Si appelé depuis un indicateur, GetLastError() retourne l'erreur 4014 — "Function is not allowed for call".

Voir également

SocketTimeouts, MathSwap