...
NetApp_SockRx() (TCP/UDP)
...
Receive application data via socket, with error handling. See section C-13-46 on page 659 for more information.anchor
Files
...
net_app.h/net_app.c
anchor
...
Prototype
Arguments
sock_id
This is the socket ID returned by NetApp_SockOpen()/
NetSock_Open()/socket()
when the socket was created or by NetApp_SockAccept()/NetSock_Accept()/accept()
when a connection was accepted.
Anchor
pdata_buf
Pointer to the application memory buffer to receive data.
Anchor
data_buf_len
Size of the destination application memory buffer (in bytes).
Anchor
data_rx_th
Application data receive threshold:
...
...
0
, no minimum receive threshold; i.e. receive any amount of data. Recommended for datagram sockets;
...
Minimum amount of application data to receive (in bytes) within maximum number of retries, otherwise.
...
flags
Flag to select receive options; bit-field flags logically
...
class | WebWorks_Indent_1 |
---|
...
OR’d:
NET_SOCK_FLAG_NONE/0
...
...
No socket flags selected
...
...
NET_SOCK_FLAG_RX_DATA_PEEK/
...
class | WebWorks_Indent_2 |
---|
...
...
...
class | WebWorks_Indent_1 |
---|
...
MSG_PEEK
...
class | WebWorks_Indent_2 |
---|
...
...
Receive socket data without consuming it
...
...
NET_SOCK_FLAG_RX_NO_BLOCK/
...
class | WebWorks_Indent_2 |
---|
...
...
class | WebWorks_Indent_1 |
---|
...
MSG_DONTWAIT
...
class | WebWorks_Indent_2 |
---|
...
...
Receive socket data without blocking
...
...
...
In most cases, this flag would be set to NET_SOCK_FLAG_NONE/0
.
Anchor
paddr_remote
Pointer to a socket address structure (see section 8-2 “Socket Interface”
...
) to return the remote host address that sent the received data.
Anchor
paddr_len
Pointer to the size of the socket address structure which must be passed the size of the socket address structure [e.g., sizeof(NET_SOCK_ADDR_IP)
]. Returns size of the accepted connection’s socket address structure, if no errors; returns 0
, otherwise.
Anchor
retry_max
Maximum number of consecutive socket receive retries.
...
timeout_ms
Socket receive timeout value per attempt/retry.
...
time_dly_ms
Socket receive delay value, in milliseconds.
...
perr
Pointer to variable that will receive the error code from this function:
...
class | WebWorks_Indent_1 |
---|
...
NET_APP_ERR_NONE
...
...
...
...
NET_APP_ERR_INVALID_ARG
...
...
class | WebWorks_Indent_1 |
---|
...
...
NET_APP_ERR_INVALID_OP
...
...
class | WebWorks_Indent_1 |
---|
...
NET_APP_ERR_FAULT
...
...
...
NET_APP_ERR_FAULT_TRANSITORY
...
...
...
class | WebWorks_Indent_1 |
---|
...
...
NET_APP_ERR_CONN_CLOSED
...
...
...
class | WebWorks_Indent_1 |
---|
...
NET_APP_ERR_DATA_BUF_OVF
...
...
class | WebWorks_Indent_1 |
---|
...
NET_ERR_RX
...
...
...
Returned Value
Anchor
0
, otherwise.Required Configuration
Anchor
NET_APP_CFG_API_EN
is enabled (see section D-18-1 on page 768) and either NET_CFG_TRANSPORT_LAYER_SEL
is configured for TCP (see section D-12-1 on page 755) and/or NET_UDP_CFG_APP_API_SEL
is configured for sockets (see section D-13-1 on page 756).Notes / Warnings
...
If a non-zero number of retries is requested (retry_max
) and socket blocking is configured for non-blocking operation (see section D-15-3 on page 761); then a non-zero timeout (timeout_ms
) and/or a non-zero time delay (time_dly_ms
) should also be requested. Otherwise, all retries will most likely fail immediately since no time will elapse to wait for and allow socket operations to successfully complete.