网络学习_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()得到错误码

原文地址:https://www.cnblogs.com/talenth/p/5807935.html