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

企业网站建设感想wordpress用户头像

企业网站建设感想,wordpress用户头像,学校网站的常规化建设,企业网站做百度排名要怎么做1、广播 broadcast 广播是指向同一个网络中所有的主机传输数据只有传输层协议为 UDP协议时#xff0c;才支持广播 TCP是端对端#xff0c;广播是一对多 #xff0c;所以无法符合其要求。 1#xff09;广播地址 广播地址的计算#xff1a; 子网掩码… 1、广播 broadcast  广播是指向同一个网络中所有的主机传输数据只有传输层协议为 UDP协议时才支持广播      TCP是端对端广播是一对多 所以无法符合其要求。 1广播地址  广播地址的计算                  子网掩码取反 再和 ip地址 进行按位或运算  例子 ip : 192.168.31.104netmask : 255.255.255.0  广播地址 192.168.31.255 ip : 172.4.0.1 netmask 255.255.254.0  广播地址 172.4.1.255 ip : 192.168.31.104netmask : 255.255.128.0  广播地址 192.168.127.255  全网广播地址 255.255.255.255                       这个没有意义 -- 会造成网络风暴  2广播的编程流程 与UDP编程流程类似 广播的发送者         广播接接收者  3注意设置套接字选项  谁需要用到广播 谁就调用 setsockopt() 函数设置套接字选项 详细见表 使能广播                  级别  SOL_SOCKET                  选项  SO_BROADCAST                  类型  int                                0  禁用                              非0 使能        写一个程序实现 广播的发送和接收 broadcast_sender.c   /  broadcast_receiver.c broadcast_sender.c  发送者int main( int argc, char *argv[] ){//创建套接字 UDP int sock_fd socket( AF_INET, SOCK_DGRAM, 0 );if( sock_fd -1 ){perror( socket error );return -1;}printf(sock_fd %d\n, sock_fd );//设置套接字的选项 -- 使能广播 int n 1;setsockopt( sock_fd, SOL_SOCKET, SO_BROADCAST, n, sizeof(n) );//设置广播的ip地址和端口号 struct sockaddr_in  addr;addr.sin_family AF_INET;                    //协议族 ipv4 addr.sin_port htons( atoi(argv[2]) );      //端口号 inet_aton( argv[1], addr.sin_addr );       //广播地址 //发送广播数据 while( 1 ){//输入要发送的数据 char buf[128] {0};printf(input data : );fgets( buf, sizeof(buf), stdin );int re sendto( sock_fd, buf, strlen(buf), 0, (struct sockaddr*)addr, sizeof(addr) );if( re -1 ){perror( sendto error );break;}//人为定义退出条件if( buf[0] # ){break;}}//关闭套接字 close( sock_fd );}broadcast_receiver.c  接收者服务器int main( int argc, char *argv[] ){//创建套接字 UDP int sock_fd socket( AF_INET, SOCK_DGRAM, 0 );if( sock_fd -1 ){perror( socket error );return -1;}printf(sock_fd %d\n, sock_fd );//设置套接字的选项 -- 使能广播 int n 1;setsockopt( sock_fd, SOL_SOCKET, SO_BROADCAST, n, sizeof(n) );//设置接收广播的ip地址和端口号 struct sockaddr_in  addr;addr.sin_family AF_INET;              //协议族 ipv4 addr.sin_port htons( atoi(argv[2]) );  //端口号 inet_aton( argv[1], addr.sin_addr );    //广播地址 //绑定套接字 int re bind( sock_fd, (struct sockaddr*)addr, sizeof(addr) );if( re -1 ){perror( bind error );close( sock_fd );return -1;}printf(bind success\n);//接收广播数据 while( 1 ){//接收数据 char buf[128] {0};struct sockaddr_in  from_addr;socklen_t len sizeof(from_addr);re recvfrom( sock_fd, buf, sizeof(buf), 0, (struct sockaddr*)from_addr, len );if( re 0 ){printf(%s : %s\n, inet_ntoa(from_addr.sin_addr), buf );}else{perror( recvfrom error );break;}//人为定义退出条件if( buf[0] # ){break;}}//关闭套接字 close( sock_fd );} 2、组播  (多播) multicast   组播是指 将数据发送给 加入到某个组中的主机上  特点 1只有传输层协议为 UDP协议时才支持组播功能  2组播地址 ipv4  D类地址  D类地址 1110 多播组号(28bits)                 224.0.0.0 ~ 239.255.255.255   3广播方式 占用带宽会造成网络风暴          组播是一种折中的方式只有加入到特定的 某个多播组的主机 才能收到数据  1多播的代码实现  多播的发送者              多播的接收者  2加入多播组  设置套接字的选项              级别 IPPROTO_IP              选项 IP_ADD_MEMBERSHIP              类型 struct ip_mreqn {}  man 7 ip 进行查看  struct ip_mreqn                  {                     struct in_addr  imr_multiaddr;  /* 多播组地址(D类地址)  类似于qq群号IP multicast group address */                     struct in_addr  imr_address;    /* 接口(网卡)的地址多播的数据实际走哪个网卡(类似于qq号) IP address of local interface */                     ...                 }; struct in_addr                 {                     uint32_t  s_addr;  /* 32位IP地址 */                 };             例子 把 本机ip 加入多播组 224.0.0.1 struct ip_mreqn  mreq;mreq.imr_multiaddr.s_addr inet_addr( 224.0.0.1 );  //多播组地址 mreq.imr_address.s_addr htonl( INADDR_ANY );           //接口地址 //mreq.imr_address.s_addr inet_addr( argv[1] );  setsockopt( sock_fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, mreq, sizeof(mreq) );  注意          要支持多播需要设置路由表让数据包从正确的网卡出去而不是从默认网卡出去  首先 ifconfig 查看本机ip和网卡名字  如 eth0,  eth1, ens33, ... sudo route add -net 224.0.0.0 netmask 240.0.0.0  ens33          //加入路由表                  sudo route add default gw 172.4.1.1  dev ens33                  //设置默认网关  查看内核的IP路由标                  route -n           练习 写一个程序实现多播的功能 multicast_sender.c   /  multicast_receiver.c multicast_sender.c  发送者multicast_receiver.c  接收者multicast_sender.c  发送者 int main( int argc, char *argv[] ){//创建套接字 UDP int sock_fd socket( AF_INET, SOCK_DGRAM, 0 );if( sock_fd -1 ){perror( socket error );return -1;}printf(sock_fd %d\n, sock_fd );//设置 多播的ip和端口号 struct sockaddr_in  addr;addr.sin_family AF_INET;                    //协议族 ipv4 addr.sin_port htons( atoi(argv[2]) );      //端口号 inet_aton( argv[1], addr.sin_addr );       //多播地址 224.0.0.1 //发送数据while(1){//发送数据 char buf[128] {0};fgets( buf, sizeof(buf), stdin );int re sendto( sock_fd, buf, strlen(buf), 0, (struct sockaddr*)addr, sizeof(addr) );if( re -1 ){perror( sendto error );break;}if( buf[0] # ){break;}}//关闭套接字close( sock_fd );}multicast_receiver.c  接收者 int main( int argc, char *argv[] ){//创建套接字 UDP int sock_fd socket( AF_INET, SOCK_DGRAM, 0 );if( sock_fd -1 ){perror( socket error );return -1;}printf(sock_fd %d\n, sock_fd );//设置套接字的选项 -- 把本机ip加入到多播组 224.0.0.1  struct ip_mreqn  mreq;mreq.imr_multiaddr.s_addr inet_addr( argv[1] );   //多播组地址 224.0.0.1 mreq.imr_address.s_addr htonl( INADDR_ANY );      //接口地址 本机地址int re setsockopt( sock_fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, mreq, sizeof(mreq) ); if( re -1 ){perror(add membership error );close( sock_fd );return -1;}printf(add membership success\n);//设置 多播的ip和端口号 struct sockaddr_in  addr;addr.sin_family AF_INET;                    //协议族 ipv4 addr.sin_port htons( atoi(argv[2]) );      //端口号 inet_aton( argv[1], addr.sin_addr );       //多播地址 224.0.0.1 //设置端口号重用 int n 1;setsockopt( server_sock, SOL_SOCKET, SO_REUSEPORT, n, sizeof(n) );//绑定套接字 re bind( sock_fd, (struct sockaddr*)addr, sizeof(addr) );if( re -1 ){perror( bind error );close( sock_fd );return -1;}printf(bind success\n);//接收数据while(1){//接收数据 char buf[128] {0};struct sockaddr_in  from_addr;socklen_t len sizeof(from_addr);re recvfrom( sock_fd, buf, sizeof(buf), 0, (struct sockaddr*)from_addr, len );if( re 0 ){printf(%s : %s\n, inet_ntoa(from_addr.sin_addr), buf );}else {perror( recvfrom error );break;}//人为定义退出条件if( buf[0] # ){break;}}//关闭套接字 close( sock_fd );}
http://www.hkea.cn/news/14346306/

相关文章:

  • 生成网站地图站长工具特级a免费
  • 陕西建设厅八大员官方网站wordpress汇聚素材网
  • 免费国外医疗静态网站模板下载中学网站建设
  • 北京一家专门做会所的网站事业单位网站设计
  • 网站后台有安全狗外包网易
  • 在线教育网站开发软件内蒙古网站建设公司
  • 企业网站 生成html台州关键词优化推荐
  • 阿里巴巴国际站买家版建一个大型网站需要多少钱
  • 网站开发图片压缩企业网站建设设计公司
  • 可以做物理试验的网站有哪些软件开发项目
  • 网站建设方案设计心得做团购网站视频
  • 网站开发制作软件网站建设与管理用什么软件有哪些方面
  • 商城网站制作明细安阳县辛村镇
  • 手表哪个网站最好怎么去做网站
  • 郑州 科技有限公司 网站建设网页设计教程下载
  • 医疗器械网站建设方案软件商店下载电脑版
  • 中建一局华江建设有限公司网站站长之家端口扫描
  • 大兴安岭地网站seo桂林小程序制作
  • 做宠物的网站有哪些微信登录wordpress免费
  • 实用的企业网站优化技巧vi设计公司北京
  • 北京公司网站怎么制作论文中参考文献对不上
  • 网站项目建设规划书案例沧浪网站建设方案
  • 企业网站定制开发一条龙全包wordpress post fonts
  • 对网站建设的意见建议世界网站排名
  • 小吃培训网站源码广州市做网站的
  • 企业网站要怎么建设汉鼎中国 网站建设
  • 百度怎样建立网站邵阳网站建设制作
  • 地方门户网站app信息化网站建设的请示
  • 抄袭网站设计织梦做企业网站教程
  • 网站设计排名北京手机应用开发