MCW1001A
DS70671A-page 44
Preliminary
2011 Microchip Technology Inc.
6.11.14
SOCKET_RECV_MSG
(117 COMMAND)
The Recv command attempts to read data from an open socket. In this version of WiComm-Socket, the Recv command
is always non-blocking, but UDP received data is not buffered in WiComm-Socket. If data is available to be read from
the socket, the amount of data available will be returned (not to exceed the specified buffer size in the call). If no data
is available, the RECV response will return 0 as the received count. As a result of non-buffered approach to UDP receive
buffers, WiComm-Socket uses an asynchronous SOCKET_RECV_FROM_RESPONSE_MSG to report any data received on
a bound UDP listener socket. In this way, the SOCKET_RECV_MSG is not typically used to poll for UDP socket received
data and by design, a call to this function on a UDP socket will return 0 bytes read.
Response Message: SOCKET_RECV_RESPONSE_MSG
6.11.15
SOCKET_RECV_RESPONSE_MSG
(29 RESPONSE)
This message indicates the result of the attempted socket receive message.
6.11.16
SOCKET_SEND_TO_MSG
(118 COMMAND)
The Sendto command sends data on the target socket. Unlike the socket Send command, the remote connection is
defined in the call to this function. By specifying the remote address and port, the connection can be created if it does
not exist. In the case of a memory limited WiComm-Socket, the host may need to limit the size of the data sent in each
command. A facility will be provided to allow messages to be fragmented by the host and reassembled in WiComm-
Socket to create a complete packet.
Response Message: SOCKET_SEND_TO_RESPONSE_MSG
Msg Byte Index
Description
0:5
Header; Message Type = 117, Data Length = 4
6
Socket Handle (previously created with SOCKET_CREATE_MSG)
7
Reserved
8:9
Amount of data to be read
10
0x45 (Frame Trailer)
Msg Byte Index
Description
0:5
Header; Message Type = 29, Data Length = 4 + N Data Bytes
6
Socket Handle (used when data was read)
7
Reserved
8:9
Byte count received (N)
10:N + 9
N bytes of data read
N + 10
0x45 (Frame Trailer)
Msg Byte Index
Description
0:5
Header; Message Type = 118, Data Length = 22 + N Data Bytes
6
Socket Handle (previously created with SOCKET_CREATE_MSG)
7
Reserved
8:9
Remote Port Number to send the data to
10:25
Remote IP address – for IPv4 the first 4 bytes are the IP address
26:27
Data byte count (N)
28:N + 27
N bytes of data to be sent
N + 28
0x45 (Frame Trailer)