socket基本函数 (二)
7. 发送数据
int send(SOCKET s,const char FAR* buf,int len,int flags);
int sendto(SOCKET s,const char FAR* buf,int len,int flags,const char FAR* to,int tolen);
send函数是专门为流式套接字设计,用于面向连接的TCP类型的服务;
sendto函数专门为数据报套接字设计,用于无连接的UDP类型服务
s为已经建立连接的套接字;
buf用来指定发送端保存等待发送数据的缓冲区;
len用来指定发送数据的字节数;
flags是附加标志,通常设置为0;
to用来指定接收端保存等待接收数据的缓冲区;
tolen用来指定接收数据的字节数.
这两个函数执行成功后返回发送数据的字节数,失败返回SOCKET_ERROR错误.
8. 接收数据
int recv(SOCKET s,char FAR* buf,int len,int flags)
recvfrom(SOCKET s,char FAR* buf,int len,int flags,const char FAR* from,int* fromlen)
recv函数专门为流式套接字设计,用于面向连接的TCP类型服务;
recvfrom函数为数据报套接字设计,用于无连接的UDP类型服务.
s用来指定接收端使用的套接字;
buf用来指定接收端保存等待接收数据的缓冲区;
len用来指定接收数据的字节数;
flags是附加标志,通常设置为0;
from用来指定发送端保存等待发送数据的缓冲区;
fromlen用来指定发送数据的字节数.
这两个函数执行成功返回接收数据的字节数,失败返回SOCKET_ERROR错误.