简述注释的分类和作用 sendto() sendto()-简述,sendto()-注释

sendto()适用于已连接的数据报或流式套接口发送数据。对于数据报类套接口,必需注意发送数据长度不应超过通讯子网的IP包最大长度。IP包最大长度在WSAStartup()调用返回的WSAData的iMaxUdpDg元素中。如果数据太长无法自动通过下层协议,则返回WSAEMSGSIZE错误,数据不会被发送。

sendto_sendto() -简述


向一指定目的地发送数据。

#include <winsock.h>

int PASCAL FAR sendto( SOCKET s, const char FAR* buf, int len, int flags,
const struct sockaddr FAR* to, int tolen);

s:一个标识套接口的描述字。
buf:包含待发送数据的缓冲区。
len:buf缓冲区中数据的长度。
flags:调用方式标志位。
to:(可选)指针,指向目的套接口的地址。
tolen:to所指地址的长度。

sendto_sendto() -注释

简述注释的分类和作用 sendto() sendto()-简述,sendto()-注释


sendto()适用于已连接的数据报或流式套接口发送数据。对于数据报类套接口,必需注意发送数据长度不应超过通讯子网的IP包最大长度。IP包最大长度在WSAStartup()调用返回的WSADATA的iMaxUdpDg元素中。如果数据太长无法自动通过下层协议,则返回WSAEMSGSIZE错误,数据不会被发送。
请注意成功地完成sendto()调用并不意味着数据传送到达。
sendto()函数主要用于SOCK_DGRAM类型套接口向to参数指定端的套接口发送数据报。对于SOCK_STREAM类型套接口,to和tolen参数被忽略;这种情况下sendto()等价于send()。
为了发送广播数据(仅适用于SOCK_DGRAM),in参数所含地址应该把特定的IP地址INADDR_BROADCAST(winsock.h中有定义)和终端地址结合起来构造。通常建议一个广播数据报的大小不要大到以致产生碎片,也就是说数据报的数据部分(包括头)不超过512字节。
如果传送系统的缓冲区空间不够保存需传送的数据,除非套接口处于非阻塞I/O方式,否则sendto()将阻塞。对于非阻塞SOCK_STREAM类型的套接口,实际写的数据数目可能在1到所需大小之间,其值取决于本地和远端主机的缓冲区大小。可用select()调用来确定何时能够进一步发送数据。
在相关套接口的选项之上,还可通过标志位flag来影响函数的执行方式。也就是说,本函数的语义既取决于套接口的选项也取决于标志位。后者由以下一些值组成:

值 意义
MSG_DONTROUTE 指明数据不选径。一个WINDOWS套接口供应商可以忽略此标志;参见2.4节中关于SO_DONTROUTE的讨论。
MSG_OOB 发送带外数据(仅适用于SO_STREAM;参见2.2.3节)。

返回值:
若无错误发生,send()返回所发送数据的总数(请注意这个数字可能小于len中所规定的大小)。否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码。

错误代码:
WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。
WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效。
WSAEACESS:要求地址为广播地址,但相关标志未能正确设置。
WSAEINTR:通过一个WSACancelBlockingCall()来取消一个(阻塞的)调用。
WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。
WSAEFAULT:buf或to参数不是用户地址空间的一部分,或to参数太小(小于sockaddr结构大小)。
WSAENETRESET:由于WINDOWS套接口实现放弃了连接,故该连接必需被复位。
WSAENOBUFS:WINDOWS套接口实现报告一个缓冲区死锁。
WSAENOTCONN:套接口未被连接。
WSAENOTSOCK:描述字不是一个套接口。
WSAEOPNOTSUPP:已设置了MSG_OOB,但套接口非SOCK_STREAM类型。
WSAESHUTDOWN:套接口已被关闭。一个套接口以1或2的how参数调用shutdown()关闭后,无法再用sned()函数。
WSAEWOULDBLOCK:套接口被标志为非阻塞, 但该调用会产生阻塞。
WSAEMSGSIZE:套接口为SOCK_DGRAM类型,且数据报大于WINDOWS套接口实现所支持的最大值。
WSAECONNABORTED:由于超时或其他原因引起虚电路的中断。
WSAECONNRESET:虚电路被远端复位。
WSAEADDRNOTAVAIL:所指地址无法从本地主机获得。
WSAEAFNOSUPPORT:所指定地址族中地址无法与本套接口一切使用。
WSAEDESADDRREQ:需要目的地址。
WSAENETUNREACH:当前无法从本主机联上网络。

参见:
recv(),recvfrom(), socket(), send(), WSAStartup().

  

爱华网本文地址 » http://www.aihuau.com/a/8104080103/172850.html

更多阅读

深海鱼油的功效和作用 龙胆泻肝丸功效与作用

深海鱼油的功效和作用——简介现代科学实验证明:深海鱼油所含的DHA和EPA是人体代谢过程中不可缺少的重要物质之一。俗称“脑黄金”的DHA主要存在于人体大脑的灰质部,它能有效活化脑细胞,提高脑神经信息传送速度,增强记忆力,延缓衰老。另

甘蔗的功效和作用 甘蔗的功效与作用孕妇

甘蔗的功效和作用——简介甘蔗是水果中唯一的茎用水果,也是水果中含纤维(包括非膳食纤维)最多的一种水果。甘蔗含糖量高,浆汁甜美,被称为“糖水仓库”,可以给食用者带来甜蜜的享受,并提供相当多的热量和营养。下面介绍一下甘蔗的具体功效

陈皮的功效和作用 玫瑰花茶的功效与禁忌

陈皮的功效和作用——简介陈皮也叫橘皮,贵老,红皮,黄橘皮,广橘皮,新会皮,柑皮,广陈皮。分布于长江以南各地区。10至12月果实成熟时,摘下果实,剥取果皮,阴干或通风干燥。广陈皮剥取时多割成3至4瓣。陈皮药材分“陈皮”和“广陈皮”。陈皮的功

黑碧玺的功效和作用 黑碧玺功效

? ??黑碧玺是一种比较常见的电气石,从外形上看和黑玛瑙、黑曜石有点相似,但是黑碧玺的功效和作用要更猛更强烈,今天我们就聊一下黑碧玺的功效和作用。  黑碧玺的功效和作用之一:除恶辟邪  黑碧玺有着非常强大的辟邪能力,能够去除

榴莲的功效和作用 菠萝蜜和榴莲的区别

榴莲的功效和作用——简介很多人喜欢吃榴莲,但是也有很多人因为受不了榴莲的味道从来也不吃,不管是喜欢吃也好,不喜欢吃也好,榴莲的功效和作用却很少有人清楚,今天小编就给大家详细的介绍一下,关于榴莲的一些营养价值。榴莲的功效和作用

声明:《简述注释的分类和作用 sendto() sendto()-简述,sendto()-注释》为网友耐性与骨气分享!如侵犯到您的合法权益请联系我们删除