SocketTlsReadAvailable

보안 TLS 연결에서 사용 가능한 모든 데이터를 읽습니다.

int  SocketTlsReadAvailable(
   int           socket,               // 소켓
   uchar&        buffer[],             // 소켓에서 데이터를 읽기 위한 버퍼
   const uint    buffer_maxlen         // number of bytes to read
   );

Parameter

socket

[in]  소켓 핸들이 SocketCreate 함수에 의해 반환됩니다. 잘못되 핸들이 _LastError로 전달될 시, 5270 에러(ERR_NETSOCKET_INVALIDHANDLE)가 활성화됩니다.

buffer

[out]  데이터를 읽을 수 있는 uchar 유형 배열에 대한 레퍼런스입니다. 동적 배열 크기가 읽기 바이트 수만큼 증가합니다. 배열의 크기는 INT_MAX (2147483647)을 초과할 수 없습니다.

buffer_maxlen

[in]  buffer[] 배열에 읽을 바이트 수. 배열에 맞지 않는 데이터는 소켓에 남아 있습니다. 다음 SocketTlsReadAvailable 또는 SocketTlsRead 호출로 수신 가능. buffer_maxlen는 INT_MAX (2147483647)를 초과할 수 없습니다.

반환값

성공적이면 읽기 바이트 수를 반환합니다. 오류인 경우, -1이 반환됩니다.

참고

함수 실행시 시스템 소켓에 오류가 발생하면, SocketConnect을 통해 설정된 연결이 중단됩니다.

데이터 읽기 오류가 발생시, 5273 에러(ERR_NETSOCKET_IO_ERROR)가 _LastError에 기록됩니다.

이 함수는 자체 실행 스레드에서 실행되므로 Expert Advisor 및 스크립트에서만 호출할 수 있습니다. 지표에서 호출하는 경우, GetLastError() 는 4014 에러– "호출이 허용되지 않는 함수입니다."가 반환됩니다.

참고 항목

SocketTimeouts, MathSwap