- SocketCreate
- SocketClose
- SocketConnect
- SocketIsConnected
- SocketIsReadable
- SocketIsWritable
- SocketTimeouts
- SocketRead
- SocketSend
- SocketTlsHandshake
- SocketTlsCertificate
- SocketTlsRead
- SocketTlsReadAvailable
- SocketTlsSend
- WebRequest
- SendFTP
- SendMail
- SendNotification
SocketTlsRead
Читает данные из защищенного TLS-соединения.
int SocketTlsRead(
|
Параметры
socket
[in] Хэндл сокета, возвращаемый функцией SocketCreate. При передаче неверного хэндла в _LastError записывается ошибка 5270 (ERR_NETSOCKET_INVALIDHANDLE).
buffer
[out] Ссылка на массив типа uchar, в который будут прочитаны данные. Размер динамического массива увеличивается на количество прочитанных байт. Размер массива не может превышать INT_MAX (2147483647).
buffer_maxlen
[in] Количество байт, которые необходимо прочитать в массив buffer[]. Данные, которые не поместятся в массив, останутся в сокете. Их можно будет получить следующим вызовом SocketTLSRead. Значение buffer_maxlen не может превыщать INT_MAX (2147483647).
Возвращаемое значение
В случае успеха возвращает количество прочитанных байт, в случае ошибки возвращает -1.
Примечание
Если при выполнении этой функции на системном сокете произойдет ошибка, соединение, установленное через SocketConnect, будет разорвано.
Функция исполняется до тех пор, пока не получит указанное количество данных или не наступит таймаут (SocketTimeouts).
При ошибке чтения данных в _LastError записывается ошибка 5273 (ERR_NETSOCKET_IO_ERROR).
Функцию можно вызывать только из экспертов и скриптов, так как они работают в собственном потоке выполнения. При вызове из индикатора GetLastError() вернет ошибку 4014 – "Системная функция не разрешена для вызова".
Пример:
//+------------------------------------------------------------------+
|
Смотри также