科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux系统下广播程序制作介绍(下) (2)

Linux系统下广播程序制作介绍(下) (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

有一系列的程序可以使你处理I P地址。首先,你可以使用inet_addr( )程序把诸如“ 132.241.5.10“形式的I P地址转化为无符号的整型数。

作者:meiyuan 来源:赛迪网技术社区 2007年10月22日

关键字: 制作 广播 Linux 操作系统

  • 评论
  • 分享微博
  • 分享邮件

除了两个参数以外,其他的参数和系统调用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 ( )的十分近似:

int recvfrom(int sockfd, void *buf, int len, unsigned int flags 
struct sockaddr *from, int *fromlen);

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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章