(UDP协议的应用)简单的广播实现
来源:互联网 发布:股权众筹系统源码 编辑:程序博客网 时间:2024/06/06 00:31
发送者:#include #include #include /* See NOTES */#include #include #include #include #define err_log(errlog) do{perror(errlog); exit(1);}while(0)//基于UDP协议简单的广播实现#define N 128int main(int argc, const char *argv[]){int sockfd;struct sockaddr_in broadcastaddr , clientaddr;char buf[N] = {};if(argc != 3){fprintf(stderr, "Usage:%s serverip port.\n", argv[0]);return -1;} //创建数据报套接字if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0){err_log("fail to socket");} //添加网络信息结构体broadcastaddr.sin_family = AF_INET;broadcastaddr.sin_addr.s_addr = inet_addr(argv[1]);broadcastaddr.sin_port = htons(atoi(argv[2]));// 添加发送广播的权限int on = 1; //设置套接字的属性,if(setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)) < 0){err_log("fail to setsockopt");} while(1){printf("Input >");fgets(buf, N, stdin);buf[strlen(buf)-1] = '\0';if(sendto(sockfd, buf, N, 0, (struct sockaddr *)&broadcastaddr, sizeof(broadcastaddr)) < 0){err_log("fail to sendto");}if(strncmp(buf, "quit", 4) == 0){break;}}close(sockfd);return 0;}接收者:#include #include #include /* See NOTES */#include #include #include #include #define err_log(errlog) do{perror(errlog); exit(1);}while(0)#define N 128int main(int argc, const char *argv[]){int sockfd;struct sockaddr_in broadcastaddr;char buf[N] = {};if(argc != 3){fprintf(stderr, "Usage:%s serverip port.\n", argv[0]);return -1;} //套接字创建if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0){err_log("fail to socket");} //网络信息添加broadcastaddr.sin_family = AF_INET;broadcastaddr.sin_addr.s_addr = inet_addr(argv[1]);broadcastaddr.sin_port = htons(atoi(argv[2])); //绑定广播的IP地址以及其端口号if(bind(sockfd, (struct sockaddr *)&broadcastaddr, sizeof(broadcastaddr)) < 0){err_log("fail to bind");}socklen_t addrlen = sizeof(struct sockaddr);while(1){if(recvfrom(sockfd, buf, N, 0, NULL,NULL) < 0){err_log("fail to recvfrom");}printf("From send:%s\n", buf);if(strncmp(buf, "quit", 4) == 0){break;}}close(sockfd);return 0;}
1 0
- (UDP协议的应用)简单的广播实现
- android中udp协议广播的实现
- Udp协议的简单应用
- QT之UDP协议广播简单应用.
- 简单的UDP协议实现
- delphi简单的聊天室(UDP广播)
- iOS- 移动端Socket UDP协议广播机制的实现
- iOS 利用Socket UDP协议广播机制的实现
- UDP协议的应用
- UDP实现的广播通信
- UDP广播程序的实现
- 基于UDP协议的广播程序实例
- 基于UDP协议的广播服务
- 用udp协议通讯示例 UDP实现广播接收回复的例子
- 用UDP实现广播协议
- 一个简单的UDP广播程序
- 一个VC简单的UDP广播示例
- UDP协议的简单使用
- 数据库事务隔离级别
- 集合
- disable bootstrap
- Oracle 基本知识 内含 SQLplus命令,Oracle常用用户
- UVA-10655 Contemplation! Algebra (矩阵快速幂)
- (UDP协议的应用)简单的广播实现
- jquery ajax 向后台传递数组参数示例
- UVA - 112 Tree Summing
- HDU 5753 Permutation Bo
- River Hopscotch<poj3528>
- 【HDU】1025 - Constructing Roads In JGShining's Kingdom(LIS & 深坑)
- UVA - 548 Tree
- CodeForces 427A
- CodeForces 274A k-Multiple Free Set【思维】