6.2.3.8 send
send function is used by the application to send data
to a remote host. The send function can be used to send either UDP or
TCP data depending on the type of socket. - For a TCP socket a connection must be established first.
- For a UDP socket, the recommended
way is to use
sendtoAPI, where the destination address is defined. However, it is possible to usesendAPI instead ofsendtoAPI. For this, at least one successful call must be made tosendtoAPI prior to the consecutive calls ofsendfunction. This ensures that the destination address is saved in the ATWINC15x0 firmware.
The send function generates a
SOCKET_MSG_SEND event callback after the data is transmitted to the
remote host. For TCP sockets, this event guarantees that the data is delivered to the
remote host TCP/IP stack (the remote application must use the recv
function to read the data). For UDP sockets, it means that the data is transmitted, but
there is no guarantee that the data is delivered to the remote host as per UDP protocol.
The application is responsible to guarantee data delivery in the UDP sockets case.
The SOCKET_MSG_SEND event callback returns the size of the
data transmitted of the transmission in the success case and zero or negative value in
case of an error. The maximum size of data buffer that can be transmitted using the
socket APIs is 1400 bytes.
