%SS_RECVBUF
Receive bytes from a connected stream socket
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
status = %SS_RECVBUF(socket, buf)
Return value
status
Returns SS_SUCCESS (0) or one of the errors in Error codes returned by %SS_RECVBUF below. (n)
Arguments
socket
A descriptor of an open socket created by %SS_SOCKET. (i4)
buf
Buffer returned with the incoming data. (a)
Discussion
%SS_RECVBUF reads an exact amount of incoming data from a connected stream socket in a loop to ensure the entire packet has been received. %SS_RECVBUF is equivalent to calling %SS_RECV in a loop, but offers better performance.
It is conceivable, although highly unlikely, that an infinite loop may result if the length in the packet is longer than the actual packet or if the packet has been corrupted so that this appears to be the case.
If no incoming data is available at the socket, or if %SS_RECVBUF hasn’t finished reading in all the incoming data, %SS_RECVBUF blocks (even if the remote side disconnects).
%SS_SENDBUF is the complimentary function used in a peer Synergy DBL sockets application.
Error codes returned by %SS_RECVBUF
See the Socket Errors table for additional information about these errors.
SS_EBADF
SS_ECONNABORTED
SS_ECONNRESET
SS_EDISCON
SS_EFAULT
SS_EINTR
SS_EINVAL
SS_ENETDOWN
SS_ENOBUFS
SS_ENOTCONN
SS_ENOTSOCK
SS_EUNKNOWN
SS_NOTINITIALISED