读书笔记_2
UDP&TCP&原始套接字接口
UDP
SOCKET socket( int af, int type, int protocol );
描述:
创建一个套接口
参数:
af: 地址簇,常见地址簇,AF_INET
type与protocol是相关联的,type规定大类别,protocol是这类中具体的协议,常用的如下图所示
返回值:
成功,返回SOCKET描述符
失败,返回INVALID_SOCKET,调用WSAGetLastError()得到错误码
int bind( SOCKET s, const struct sockaddr FAR * name, int namelen );
描述:
给指定SOCKET绑定一个地址,绑定结果与地址的关系如下所示
参数:
s: 需要绑定地址的SOCKET
name: 通用地址结构
namelen: name结构体的长度
返回值:
成功,返回0
失败,返回SOCKET_ERROR,调用WSAGetLastError()得到错误码
int sendto( SOCKET s, const char FAR * buf, int len, int flags, const struct sockaddr FAR * to, int tolen );
描述:
把缓冲区的数据发送到to指定的位置上
参数:
s: 发送数据的SOCKET
buf: 发送数据缓冲区
len: 缓冲区长度
flags: 调用方式,一般为0
to: 目的地址
tolen:to结构体的长度
返回值:
成功,返回发送数据的字节长度,小于等于len
失败,返回SOCKET_ERROR,调用WSAGetLastError()得到错误码
int recvfrom( SOCKET s, char FAR * buf, int len, int flags, struct sockaddr FAR * from, int FAR * fromlen );
描述:
把缓冲区的数据发送到to指定的位置上
参数:
s: 接收数据的SOCKET
buf: 接收数据缓冲区
len: 缓冲区长度
flags: 调用方式,一般为0
from: 发送数据的地址,该变量为返回值
tolen:from结构体的长度,该变量为返回值
返回值:
成功,返回接收数据的字节长度,小于等于len
失败,返回SOCKET_ERROR,调用WSAGetLastError()得到错误码