当前位置: 首页 > news >正文

西安网站建设哪家网站建设 长沙百姓网

西安网站建设哪家,网站建设 长沙百姓网,怎么搭建自己的电影网站,重庆造价信息网官网首页广播UDP与单播UDP的区别就是IP地址不同#xff0c;广播使用广播地址xxx.xxx.xxx.255#xff0c;将消息发送到在同一广播网络上的每个主机#xff0c;广播/组播只能用udp进行实现 函数:int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_topt… 广播UDP与单播UDP的区别就是IP地址不同广播使用广播地址xxx.xxx.xxx.255将消息发送到在同一广播网络上的每个主机广播/组播只能用udp进行实现 函数:int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_toptlen); 参数 sockfd要设置的套接字描述符。 level选项定义的层次。或为特定协议的代码如IPv4IPv6TCPSCTP或为通用套接字代码SOL_SOCKET。 optname选项名。level对应的选项一个level对应多个选项不同选项对应不同功能。 optval指向某个变量的指针该变量是要设置新值的缓冲区。可以是一个结构体也可以是普通变量 optlenoptval的长度。 关于optname的可选项根据你需要的功能进行设置 当leve为SOL_SOCKET时optname可以有以下选项一部分 SO_BROADCAST     允许发送广播数据            int SO_DEBUG        允许调试                int SO_LINGER        延迟关闭连接          struct linger SO_OOBINLINE      带外数据放入正常数据流         int SO_RCVBUF        接收缓冲区大小             int SO_SNDBUF        发送缓冲区大小             int SO_RCVLOWAT      接收缓冲区下限             int SO_SNDLOWAT      发送缓冲区下限             int SO_RCVTIMEO       接收超时           struct timeval SO_SNDTIMEO       发送超时           struct timeval 流程:socket---setsockopt----sendto---close  值得注意的是 你的接收端必须和发送端保持一致的端口号用广播地址进行发送只要在同一局域网且端口号一致的都会收到发送端的消息广播地址可以用ifconfig进行查看接收方只需要接收就行了 出现的错误:发送端和接收端没有问题但接收端死活接收不到消息用准确的ip地址发就可以用广播地址就是接收不到消息后面我把接收端的ip地址改成INADDR_ANY ,就可以 INADDR_ANY表示本机上所有的ip地址转换过来就是0.0.0.0因为电脑不止一块网卡。多网卡情况下ip地址也就多了 udp广播 发送端 #include string.h #include stdlib.h #include stdio.h #include sys/types.h #include sys/socket.h #include netinet/in.h #include stdio.h #include sys/wait.h #include arpa/inet.h #include unistd.hvoid main(int argc,char ** argv) {if(argc ! 3){printf(argc error!\n);exit(-1);}int fd;char buf[128];struct sockaddr_in client;//1.socketfd socket(AF_INET,SOCK_DGRAM,0);if(fd 0){perror(socket);}elseprintf(socket succeed!\n);//2.setsockoptint so_broadcast 1;setsockopt(fd, SOL_SOCKET, SO_BROADCAST, so_broadcast, sizeof(so_broadcast));//SO_BROADCAST:为配置广播选项// so_broadcast :0,关闭广播1开 启广播client.sin_family AF_INET;client.sin_port htons(atoi(argv[2]));inet_aton(argv[1],client.sin_addr);//3.sendtowhile(1){memset(buf,\0,sizeof(buf));printf(请输入您要发的消息:);gets(buf);if(!strncasecmp(buf,quit,4)){break;}sendto(fd,buf,sizeof(buf),0,(struct sockaddr *)client,sizeof(client));}printf(客户端已退出-----\n);//4.closeclose(fd); }组播弥补了广播的不足他是将想要收到消息的主机通过组播地址加入到这个组播只有加入了组播的主机才会收到消息组播地址范围:224.0.0.0 到 239.255.255.255 流程socket--bind-- 加入多播组(结构体)---setsockopt(打开组播)---recvfrom---close 发送端只需要和接收端保持一致的端口号用组播地址进行发送加入到组播的主机就会收到消息 struct ip_mreq { struct in_addr imn_multiaddr; // 多播组 IPstruct in_addr imr_interface; // 将谁的IP添加到多播组 }; 组播接收端 #include stdio.h #include string.h #include stdlib.h #include sys/types.h #include sys/socket.h #include netinet/in.h #include arpa/inet.h#define SIZE 128void main(int argc,char **argv) {int fd;int bFlag;char buf[128];struct sockaddr_in server;struct sockaddr_in client;//1.socketfd socket(AF_INET,SOCK_DGRAM,0);if(fd 0){printf(socket error!\n);}elseprintf(socket succeed!\n);//2.bindserver.sin_family AF_INET;server.sin_port htons(8881);//inet_aton(argv[1],server.sin_addr);server.sin_addr.s_addr INADDR_ANY;bFlag bind(fd,(struct sockaddr *)server,sizeof(struct sockaddr_in));if(bFlag 0){printf(绑定失败\n);}elseprintf(绑定成功\n);//3.加入多播组struct ip_mreq zuBo;//组播相关的结构体zuBo.imr_multiaddr.s_addr inet_addr(224.0.0.1);//加入多播组 224.0.0.1~239.255.255.254zuBo.imr_interface.s_addr INADDR_ANY;//本机加入多播组//4.设置网络属性 setsockoptint req 1;setsockopt(fd,IPPROTO_IP,IP_DROP_MEMBERSHIP,req,sizeof(req));//5.recvfromwhile(1){memset(buf,\0,sizeof(buf));recvfrom(fd,buf,sizeof(buf),0,(struct sockaddr *)client,sizeof(client));printf(来自组播:%s:%s\n,inet_ntoa(client.sin_addr),buf);}//6.close }
http://www.dnsts.com.cn/news/169242.html

相关文章:

  • 网站建设的征求意见稿自贡跨省特大虚假广告案
  • 在阿里云上做网站步骤网站的类型有哪些
  • 干净的下载网站aso优化服务站
  • 做热区的网站网站未续费到期后打开会怎样
  • php商场网站开发经验wordpress 拍卖主题
  • 河北廊坊网站建设成都网站制作建设
  • 怎样建设影视网站公司建网站怎么做
  • 聊城网站建设:推广聊城博达创可贴app海报制作网站
  • 静态网站数据库仪征建设银行官方网站
  • 小网站怎么赚钱wordpress 出名主题
  • 做网站怎么偷源码做网站濮阳新闻联播
  • 温州人才网站开发网站建设投诉去哪里投诉
  • 长沙高升小区做汽车行业网站的网络公司论天心区网页设计wordpress 自定义产品页面
  • 微信网站制作平台php网站上传教程
  • 做网站话挣钱吗网站建设 客户要退款
  • 做号网站长沙seo网站优化
  • 群晖nas做网站域名h5简单网页代码
  • 学校网站代码模板合肥网站推广公司排名
  • 母婴网站模板网站建设的参考书籍
  • lol门户网站源码玉树电子商务网站建设
  • 建设银行总部投诉网站互联网是什么
  • 大学生想做网站推广普通话的宣传内容
  • dede电影网站温岭app开发公司
  • 移动端网站开发 float响应式网站费用
  • 做杂志的网站阳江市人才招聘网
  • 营销网站中最重要的部分是外贸企业网站建设方案
  • 网站编程图如何快速的建设网站
  • 网站建设微信营销公司做美食软件的视频网站
  • 宁波模板建站源码网络营销教案ppt
  • 凡科网站可以做seo优化网站开发自我介绍代码