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

这个函数只能从EA交易和脚本中调用,因为它们在自己的执行线程中运行。如果从指标调用,GetLastError()则返回4014错误号– “函数不允许调用”。

另见

SocketTimeoutsMathSwap