SocketTlsReadAvailable

安全なTLS接続からすべてのデータを読み込みます。

int  SocketTlsReadAvailable(
  int           socket,             // ソケット
  uchar&       buffer[],             // ソケットからデータを読むためのバッファ
  const uint   buffer_maxlen         // 読まれるバイト数
  );

パラメータ

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に書かれます。

この関数は独自のスレッド内で実行されるエキスパートアドバイザーやスクリプトのみから呼び出すことが出来ます。指標から呼び出すと、GetLastError()はエラー4014「Function is not allowed for call(関数呼び出しの許可がありません)」を返します。

参照

SocketTimeoutsMathSwap