扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
除了两个参数以外,其他的参数和系统调用s e n d ( )时相同。参数t o是指向包含目的I P地址和端口号的数据结构s o c k a d d r的指针。参数t o l e n可以设置为sizeof(struct sockaddr)。
系统调用sendto( )返回实际发送的字节数,如果出错则返回- 1。
系统调用recvfrom( )的使用方法也和r e c v ( )的十分近似:
|
sockfd: 描述字
buff: 指向输入缓冲器的指针
nbytes: 读字节大小
flag: 标志:0
from :对方协议地址
addrlen: 对方协议地址长度
函数返回值: 读入数据的长度,可以为0.
参数from是指向本地计算机中包含源I P地址和端口号的数据结构sockaddr的指针。参数fromlen设置为sizeof(struct sockaddr)。
系统调用recvfrom ( )返回接收到的字节数,如果出错则返回- 1。
close() 和shutdown()
你可以使用close( )调用关闭连接的套接口文件描述符:
close(sockfd) ;
这样就不能再对此套接口做任何的读写操作了。
使用系统调用shutdown(),可有更多的控制权。它允许你在某一个方向切断通信,或者切断双方的通信:
int shutdown(int sockfd, int how);
第一个参数是你希望切断通信的套接口文件描述符。第二个参数h o w值如下:
0—Further receives are disallowed
1—Further sends are disallowed
2—Further sends and receives are disallowed (like close())
shutdown() 如果成功则返回0,如果失败则返回- 1。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者