send这个词是什么意思su du

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 23:09:07

send这个词是什么意思su du
send这个词是什么意思
su du

send这个词是什么意思su du
send()
简述:
向一个已连接的套接口发送数据.
#include
int PASCAL FAR send( SOCKET s,const char FAR* buf,int len,int flags);
s:一个用于标识已连接套接口的描述字.
buf:包含待发送数据的缓冲区.
len:缓冲区中数据的长度.
flags:调用执行方式.
注释:
send()适用于已连接的数据报或流式套接口发送数据.对于数据报类套接口,必需注意发送数据长度不应超过通讯子网的IP包最大长度.IP包最大长度在WSAStartup()调用返回的WSAData的iMaxUdpDg元素中.如果数据太长无法自动通过下层协议,则返回WSAEMSGSIZE错误,数据不会被发送.
请注意成功地完成send()调用并不意味着数据传送到达.
如果传送系统的缓冲区空间不够保存需传送的数据,除非套接口处于非阻塞I/O方式,否则send()将阻塞.对于非阻塞SOCK_STREAM类型的套接口,实际写的数据数目可能在1到所需大小之间,其值取决于本地和远端主机的缓冲区大小.可用select()调用来确定何时能够进一步发送数据.
在相关套接口的选项之上,还可通过标志位flag来影响函数的执行方式.也就是说,本函数的语义既取决于套接口的选项也取决于标志位.后者由以下一些值组成:
值 意义
MSG_DONTROUTE 指明数据不选径.一个WINDOWS套接口供应商可以忽略此标志;MSG_OOB 发送带外数据(仅适用于SO_STREAM;).
返回值:
若无错误发生,send()返回所发送数据的总数(请注意这个数字可能小于len中所规定的大小).否则的话,返回SOCKET_ERROR错误,应用程序可通过WSAGetLastError()获取相应错误代码.
错误代码:
WSANOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup().
WSAENETDOWN:WINDOWS套接口实现检测到网络子系统失效.
WSAEACESS:要求地址为广播地址,但相关标志未能正确设置.
WSAEINTR:通过一个WSACancelBlockingCall()来取消一个(阻塞的)调用.
WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中.
WSAEFAULT:buf参数不在用户地址空间中的有效位置.
WSAENETRESET:由于WINDOWS套接口实现放弃了连接,故该连接必需被复位.
WSAENOBUFS:WINDOWS套接口实现报告一个缓冲区死锁.
WSAENOTCONN:套接口未被连接.
WSAENOTSOCK:描述字不是一个套接口.
WSAEOPNOTSUPP:已设置了MSG_OOB,但套接口非SOCK_STREAM类型.
WSAESHUTDOWN:套接口已被关闭.一个套接口以1或2的how参数调用shutdown()关闭后,无法再用sned()函数.
WSAEWOULDBLOCK:
WSAEMSGSIZE:套接口为SOCK_DGRAM类型,且数据报大于WINDOWS套接口实现所支持的最大值.
WSAEINVAL:套接口未用bind()捆绑.
WSAECONNABORTED:由于超时或其他原因引起虚电路的中断.
WSAECONNRESET:虚电路被远端复位.
参见:
recv(),recvfrom(),socket(),sendto(),WSAStartup().
下面是词典的意思
send
vt.发送,使进入,寄,派遣,发射,使陷于
vi.寄信,派人,播送
n.(船的)上升运动
【计】 发送