簡介
SendTo指向一指定目的地發送數據,将指定字節數的數據發送到指定的終結點。sendto()适用于發送未建立連接的UDP數據報(參數為SOCK_DGRAM)。為整型,如果成功,則返回發送的字節數,失敗則返回SOCKET_ERROR。Byte 類型的數組,它包含要發送的數據。SocketFlags 值的按位組合。EndPoint,表示數據的目标位置。
LinuxC函數
sendto(經socket傳送數據)
相關函數
send , sendmsg,recv , recvfrom , socket
表頭文件
#include < sys/types.h >
#include < sys/socket.h >
定義函數
int sendto ( socket s , const void * msg, int len, unsigned int flags, const
struct sockaddr * to , int tolen ) ;
函數說明
sendto() 用來将數據由指定的socket傳給對方主機。參數s為已建好連線的socket,如果利用UDP協議則不需經過連線操作。參數msg指向欲連線的數據内容,參數flags 一般設0,詳細描述請參考send()。參數to用來指定欲傳送的網絡地址,結構sockaddr請參考bind()。參數tolen為sockaddr的結構長度。
返回值
成功則返回實際傳送出去的字符數,失敗返回-1,錯誤原因存于errno 中。
錯誤代碼
EBADF 參數s非法的socket處理代碼。
EFAULT 參數中有一指針指向無法存取的内存空間。
ENOTSOCK 參數 s為一文件描述詞,非socket。
EINTR 被信号所中斷。
EAGAIN 此動作會令進程阻斷,但參數s的socket為不可阻斷的。
ENOBUFS 系統的緩沖内存不足。
EINVAL 傳給系統調用的參數不正确。