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
sendto
API, where the destination address is defined. However, it is possible to usesend
API instead ofsendto
API. For this, at least one successful call must be made tosendto
API prior to the consecutive calls ofsend
function. 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.