免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1027 | 回复: 0
打印 上一主题 下一主题

简单的广播收发 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-06 17:21 |只看该作者 |倒序浏览
向局域网发送广播:server.c
Int main()
{
Int sockfd;
Struct sockaddr_in server_addr, client_addr;
Int broadcast_en = 1;
Socklen_t broadcast_len = sizeof(broadcast_en);
Char buf[] = "good luck";
[color="#0000CC"]

Bzero(&server_addr, sizeof(server_addr));
Bzero(&client_addr, sizeof(client_addr));
[color="#0000CC"]

Server_addr.sin_family = AF_INET;
Server_addr.sin_port = htons(2222);
Server_addr.sin_addr.s_add=inet_addr("192.168.220.255");
[color="#0000CC"]

Sockfd = socket(AF_INET, SOCK_DGRAM, 0);
[color="#0000CC"]

Setsocketopt(sockfd, SOL_SOCKET, SO_BROADCAST, &broadcast_en, broadcast_len);
[color="#0000CC"]

Sendto(sockfd, buf, sizeof(buf), 0, (struct sockaddr *)&clinet_addr, sizeof(client_addr));
[color="#0000CC"]

}
定义套接字,命名套接字,向ip段局域网中发送广播信息;
接受广播:client.c
Int main()
{
Int servfd;
Struct Sockaddr_in server_addr,client_addr;
Char buf[] = " ";
[color="#0000CC"]

Int len = sizeof(server_addr)
Bzero(&server_addr,sizeof(server_addr));
Bzero(&client_addr, sizeof(client_addr));
[color="#0000CC"]

Servfd = socket(AF_INET, SOCK_DGRAM, 0 );
Server_addr.sin_famliy = AF_INET;
Server_addr.sin_port = htons(2222);//端口一定要一样
Server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
[color="#0000CC"]

Blind(server_addr, (struct sockaddr *)&server_addr, len);
Recvfrom(servfd, buf, 100, 0, (struct sockaddr *)&client_addr, sizeof(client_addr));
[color="#0000CC"]

Printf("recv %s\n",buf);
Return 1;
[color="#0000CC"]

}
定义套接字,绑定地址,命名套接字,收广播信息buf;

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103431/showart_2046698.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP