SocketTlsReadAvailable

Leggi tutti i dati disponibili dalla connessione TLS protetta.

int  SocketTlsReadAvailable(
   int           socket,               // socket
   uchar&        buffer[],             // buffer per la lettura dei dati dal socket
   const uint    buffer_maxlen         // numero di byte da leggere
   );

Pparametri

socket

[in] Il socket handle restituito dalla funzione SocketCreate. Quando viene passato un handle errato _LastError, si attiva l'errore 5270 (ERR_NETSOCKET_INVALIDHANDLE).

buffer

[out] Riferimento all'array di tipo uchar in cui vengono letti i dati. La dimensione dinamica dell'array è aumentata dal numero di byte letti. La dimensione dell'array non può superare INT_MAX (2147483647).

buffer_maxlen

[in] Numero di byte da leggere sull'array del buffer[]. I dati non adattati all'array rimangono nel socket. Possono essere ricevuti dalla prossima chiamata SocketTlsReadAvailable oSocketTlsRead. buffer_maxlen cannot exceed INT_MAX (2147483647).

Valore di Ritorno

Se ha successo, restituisce il numero di byte letti. In caso di errore, viene restituito -1.

Nota

Se si verifica un errore su un socket di sistema durante l'esecuzione della funzione, la connessione stabilita tramite SocketConnect viene interrotta.

In caso di errore di lettura dei dati, l'errore 5273 (ERR_NETSOCKET_IO_ERROR) viene scritto in _LastError.

La funzione può essere chiamata solo da Expert Advisors e scripts, poiché vengono eseguiti nei relativi thread di esecuzione. Se si chiama da un indicatore, GetLastError() restituisce l'errore 4014 - "Function is not allowed for call (la funzione non è consentita per la chiamata)".

Guarda anche

SocketTimeouts, MathSwap