Command Details: Receive_From
Category
Extended
Details
Command Code: | 16h |
Valid for: | Instance |
Description
This command receives data from an unconnected SOCK_DGRAM-socket. Message segmentation may be used to receive up to 1472 bytes (For more information, see Message Segmentation).
The module will return the requested amount of data from the next received datagram. If the datagram is smaller than requested, the entire datagram will be returned in the response message. If the datagram is larger than requested, the excess bytes will be discarded.
The response message contains the IP address and port number of the sender.
- NON-BLOCKING mode:
If no data is available on the socket, the error code 0006h (EWOULDBLOCK) will be returned.
- BLOCKING mode:
The module will not issue a response until the operation has finished.
Command Details
Field
Contents
Comments
CmdExt[0]
(reserved)
(set to zero)
CmdExt[1]
Segmentation Control bits
For more information, see Message Segmentation
Data[0]
Receive data size (low byte)
Only used in the first segment
Data[1]
Receive data size (high byte)
Response Details
The data in the response may be segmented (For more information, see Message Segmentation).
Field
Contents
Comments
CmdExt[0]
(reserved)
(set to zero)
CmdExt[1]
Segmentation Control bits
For more information, see Message Segmentation
Data[0]
Host IP address byte 4
The host address/port information is only included in the first segment. All data thereafter will start at Data[0]
Data[1]
Host IP address byte 3
Data[2]
Host IP address byte 2
Data[3]
Host IP address byte 1
Data[4]
Host port number (low byte)
Data[5]
Host port number (high byte)
Data[6...n]
Received data