网站地图
zenghuilan.com
生活小窍门 解释生活中的一切名词
SendTo 发布于:

SendTo是一个计算机函数,指向一指定目的地发送数据,sendto()适用于发送未建立连接的UDP数据包 (参数为SOCK_DGRAM)。

(Byte[], Int32, SocketFlags, EndPoint)

使用指定的 SocketFlags,将指定字节数的数据发送到指定的终结点。

Overloads Public Function SendTo( _

ByVal buffer() As Byte, _ByVal size As Integer, _

ByVal socketFlags As SocketFlags, _

ByVal remoteEP As EndPoint _

) As Integer

public int SendTo(

byte[] buffer,

int size,

SocketFlags socketFlags,

EndPoint remoteEP

);

int FAR sendto (

IN SOCKET s,

IN const char FAR * buf,

IN int len,

IN int flags,

IN const struct sockaddr FAR *to,

IN int tolen);

typedef int (_stdcall * SendTo) (SOCKET sSocket,

const char * lpBuffer,

DWORD dwLength,

int dwFlags,

const sockaddr_in * sinTo,

int dwToLength);

或:

typedef int (_stdcall * SendTo) (SOCKET sSocket,

const char * lpBuffer,

DWORD dwLength,

int dwFlags,

const sockaddr * sinTo,

int dwToLength);

为整型,如果成功,则返回发送的字节数,失败则返回SOCKET_ERROR。

s 套接字

buff 待发送数据的缓冲区

size 缓冲区长度

Flags 调用方式标志位, 一般为0, 改变Flags,将会改变Sendto发送的形式

addr (可选)指针,指向目的套接字的地址

len addr所指地址的长度

public function SendTo(

buffer : Byte[],

size : int,

socketFlags : SocketFlags,

remoteEP : EndPoint

) : int;

参数buffer

Byte 类型的数组,它包含要发送的数据。

size

要发送的字节数。

socketFlags

SocketFlags 值的按位组合。

remoteEP

EndPoint,表示数据的目标位置。

返回值

已发送的字节数。

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 传给系统调用的参数不正确。

client.c范例请参考recvfrom()


相关文章推荐:
计算机函数 | 数据包 | 套接字 | 缓冲区 | Flags | 指针 | 数组 | 指针 | 文件描述词 | 内存不足 | 系统调用 |