- SocketCreate
- SocketClose
- SocketConnect
- SocketIsConnected
- SocketIsReadable
- SocketIsWritable
- SocketTimeouts
- SocketRead
- SocketSend
- SocketTlsHandshake
- SocketTlsCertificate
- SocketTlsRead
- SocketTlsReadAvailable
- SocketTlsSend
- WebRequest
- SendFTP
- SendMail
- SendNotification
SocketRead
Legge i dati da un socket.
int SocketRead(
|
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 nell'arraybuffer[]. I dati non adattati all'array rimangono nel socket. Possono essere ricevuti dalla prossima chiamata SocketRead. buffer_maxlen cannot exceed INT_MAX (2147483647).
timeout_ms
[in] Tempo di lettura dei dati in millisecondi. Se i dati non vengono ottenuti entro questo tempo, i tentativi vengono interrotti e la funzione restituisce -1.
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)".
Esempio:
//+------------------------------------------------------------------+
|
Guarda anche