广播的发送程序
来源:互联网 发布:校园网络贷款小品剧本 编辑:程序博客网 时间:2024/04/28 05:19
广播的发送程序如下:其程序流程非常简单,使用的是用户数据报协议,只要用函数setsockopt()将其修改为发送广播其余的与编写UDP服务器差不多!
Send.c
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include<fcntl.h>
#include<unistd.h>
typedef struct sockaddr ADDR;
int main(int argc, char *argv[])
{
ssize_t n;
char buf[] = "this isbroadcast packet";
int serverfd,port ;
struct sockaddr_inmyaddr,peeraddr;
if(argc < 3)
{
printf("the usage :%s ipport",argv[0]);
exit(-1);
}
if((serverfd =socket(PF_INET,SOCK_DGRAM,0)) < 0)
{
perror("fail tsocket");
exit(-1);
}
port = atoi(argv[2]);
myaddr.sin_family = PF_INET;
myaddr.sin_port = htons(port);
myaddr.sin_addr.s_addr =inet_addr(argv[1]);
int on = 1;
setsockopt(serverfd,SOL_SOCKET,SO_BROADCAST,&on,sizeof(on));
socklen_t peerlen =sizeof(peeraddr);
while(1)
{
sendto(serverfd,buf,sizeof(buf),0,(ADDR*)&myaddr,sizeof(myaddr));
sleep(1);
}
return 0;
}
receive.c
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include<fcntl.h>
#include<unistd.h>
typedef struct sockaddr ADDR;
int main(int argc, char *argv[])
{
ssize_t n;
char buf[256];
int serverfd,port ;
struct sockaddr_inmyaddr,peeraddr;
if(argc < 3)
{
printf("the usage :%s ipport",argv[0]);
exit(-1);
}
if((serverfd =socket(PF_INET,SOCK_DGRAM,0)) < 0)
{
perror("fail tsocket");
exit(-1);
}
port = atoi(argv[2]);
myaddr.sin_family = PF_INET;
myaddr.sin_port = htons(port);
myaddr.sin_addr.s_addr =inet_addr(argv[1]);
if(bind(serverfd,(ADDR*)&myaddr ,sizeof(myaddr)) < 0)
{
perror("failto bind");
exit(-1);
}
socklen_t peerlen =sizeof(peeraddr);
while(1)
{
recvfrom(serverfd,buf,256,0,(ADDR*)&peeraddr,&peerlen);
printf("[%s %d]%s\n",inet_ntoa(peeraddr.sin_addr),ntohs(peeraddr.sin_port),buf);
}
return 0;
}
- 广播的发送程序
- 广播的发送程序
- 本地广播的发送
- 22 广播的发送
- 广播的发送 和 广播的分类
- Android发送短信、打电话、发送邮件的程序集合&&广播权限
- 发送标准广播和有序广播,以及广播的截断
- 广播的发送和接收
- 广播的发送与接收
- Broadcast广播的发送方式
- 广播的发送与接收
- 广播的发送与接收
- 发送一个动态的广播
- 安卓中发送广播的方法
- 不用安装Wincap程序实现ARP广播包的发送和接收
- 广播发送
- 发送广播
- 广播发送
- C# 单点登录 MVC
- 源代码的学习
- php xdebug的编译安装以及配置说明
- 【Android】AndroidManifest.xml 配置权限大全
- proguard file for adsmogo
- 广播的发送程序
- 创建webservice客户端
- Linux的cpufreq(动态变频)技术
- linux发送组播数据报
- 解析XML
- 浅谈平面设计师如何转为APP设计师
- UDP组播接收端解析
- 类,对象,方法,属性,事件的概念
- [Unity3D]关于中文注释导致的文件编码错误问题