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

手机qq网页版网站沧州手机网站开发

手机qq网页版网站,沧州手机网站开发,六安公司网,中山网站seo优化1.广播 发送端#xff08;类似于客户端#xff09; 流程#xff1a; 创建套接字 填充接收端#xff08;服务器#xff09;网络信息结构体 bind(非必须绑定) 设置允许广播 向接收端#xff08;服务器#xff09;发送数据 关闭套接字文件 #include stdio.h #in…1.广播 发送端类似于客户端 流程 创建套接字 填充接收端服务器网络信息结构体 bind(非必须绑定) 设置允许广播 向接收端服务器发送数据 关闭套接字文件 #include stdio.h #include sys/types.h #include sys/socket.h #include string.h #include netinet/in.h #include arpa/inet.h #include unistd.h#define ERR_MSG(msg) do{\fprintf(stderr,LINE:__%d__,__LINE__);\perror(msg);\ }while(0)#define PORT 3333 #define IP 172.17,94.255int main(int argc, const char *argv[]) {int fd socket(AF_INET,SOCK_DGRAM,0);if(-1 fd){ERR_MSG(socket);return -1;}//填充接受端的网络信息结构体struct sockaddr_in recvaddr;recvaddr.sin_family AF_INET;recvaddr.sin_port htons(PORT);recvaddr.sin_addr.s_addr inet_addr(IP);//可绑可不绑//设置允许广播int broad 1;if(-1 setsockopt(fd,SOL_SOCKET,SO_BROADCAST,\broad,sizeof(broad))){ERR_MSG(setsockopt);return -1;}printf(broad set success broad %d\n,broad);char buf[128] ;ssize_t res 0;while(1){//向服务器发送数据bzero(buf,sizeof(buf));fgets(buf,sizeof(buf),stdin);buf[strlen(buf)-1] 0;if(-1 sendto(fd,buf,sizeof(buf),0,\(struct sockaddr*)recvaddr,sizeof(recvaddr))){ERR_MSG(sendto);return -1;}printf(sendto success\n);}//关闭套接字close(fd);return 0; }接收端类似于服务器 流程 创建套接字 填充接收端本身服务器的网络信息结构体 bind必须) 绑定套接字和自身的网络信息结构体 新建一个网络信息结构体用来存储发送端的地址信息 接受发送端发来的数据 关闭套接字 #include stdio.h #include sys/types.h #include sys/socket.h #include string.h #include netinet/in.h #include arpa/inet.h #include unistd.h#define ERR_MSG(msg) do{\fprintf(stderr,LINE:__%d__,__LINE__);\perror(msg);\ }while(0)#define PORT 3333 #define IP 172.17,94.255int main(int argc, const char *argv[]) {int fd socket(AF_INET,SOCK_DGRAM,0);if(-1 fd){ERR_MSG(socket);return -1;}//填充接受端的网络信息结构体struct sockaddr_in recvaddr;int len sizeof(recvaddr);recvaddr.sin_family AF_INET;recvaddr.sin_port htons(PORT);recvaddr.sin_addr.s_addr inet_addr(IP);//必须绑定if(-1 bind(fd,(struct sockaddr*)recvaddr,len)){ERR_MSG(bind);return -1;}printf(bind success\n);//新建一个网络信息结构体用来存储接受的数据从哪来struct sockaddr_in sendaddr;int sendlen sizeof(sendaddr);char buf[128] ;ssize_t res 0;while(1){//接受发送端客户端发来的数据bzero(buf,sizeof(buf));if(-1 recvfrom(fd,buf,sizeof(buf),0,\(struct sockaddr*)sendaddr,sendlen)){ERR_MSG(recvfrom);return -1;}printf(recvfrom success\n);printf([%s:%d] msg:%s\n,inet_ntoa(sendaddr.sin_addr),\ntohs(sendaddr.sin_port),buf);}//关闭套接字close(fd);return 0; }广播 发送端类似于客户端 流程 创建套接字 填充接收端服务器的网络信息结构体 IP为广播组的IP地址 bind(非必须) 设置允许广播 发送广播信息 关闭套接字 #include stdio.h #include sys/types.h #include sys/socket.h #include string.h #include netinet/in.h #include arpa/inet.h #include unistd.h#define ERR_MSG(msg) do{\fprintf(stderr,LINE:__%d__,__LINE__);\perror(msg);\ }while(0)#define PORT 3333 #define IP 224.1.2.3int main(int argc, const char *argv[]) {int fd socket(AF_INET,SOCK_DGRAM,0);if(-1 fd){ERR_MSG(socket);return -1;}//填充接受端的网络信息结构体struct sockaddr_in recvaddr;recvaddr.sin_family AF_INET;recvaddr.sin_port htons(PORT);recvaddr.sin_addr.s_addr inet_addr(IP);//可绑可不绑//设置允许广播int broad 1;if(-1 setsockopt(fd,SOL_SOCKET,SO_BROADCAST,\broad,sizeof(broad))){ERR_MSG(setsockopt);return -1;}printf(broad set success broad %d\n,broad);char buf[128] ;ssize_t res 0;while(1){//向服务器发送数据bzero(buf,sizeof(buf));fgets(buf,sizeof(buf),stdin);buf[strlen(buf)-1] 0;if(-1 sendto(fd,buf,sizeof(buf),0,\(struct sockaddr*)recvaddr,sizeof(recvaddr))){ERR_MSG(sendto);return -1;}printf(sendto success\n);}//关闭套接字close(fd);return 0; }接收端类似于服务器 流程 创建套接字 填充接收端自身、服务器的网络信息结构体广播组IP… bind必须绑定绑定服务器与套接字 填充广播组的网络信息结构体广播组IP,本地IP,网卡编号 滴滴查询网卡编号ifconfig 查看使用的是哪个网卡再 ip ad 查看对应的编号 添加广播组 新建一个网络信息结构体用来存储发送端的地址信息 循环接受信息 关闭套接字 #include stdio.h #include sys/types.h #include sys/socket.h #include string.h #include netinet/in.h #include arpa/inet.h #include unistd.h#define ERR_MSG(msg) do{\fprintf(stderr,LINE:__%d__,__LINE__);\perror(msg);\ }while(0)#define PORT 3333 #define IP 224.1.2.3int main(int argc, const char *argv[]) {int fd socket(AF_INET,SOCK_DGRAM,0);if(-1 fd){ERR_MSG(socket);return -1;}//填充接受端的网络信息结构体struct sockaddr_in recvaddr;int len sizeof(recvaddr);recvaddr.sin_family AF_INET;recvaddr.sin_port htons(PORT);recvaddr.sin_addr.s_addr inet_addr(IP);//必须绑定if(-1 bind(fd,(struct sockaddr*)recvaddr,len)){ERR_MSG(bind);return -1;}printf(bind success\n);//加入多播组struct ip_mreqn mq;mq.imr_multiaddr.s_addr inet_addr(IP);//多播组的组mq.imr_address.s_addr inet_addr(172.17.94.145);//本地mq.imr_ifindex 3;//网络设备编号指定网卡号if(-1 setsockopt(fd,IPPROTO_IP,IP_ADD_MEMBERSHIP,\mq,sizeof(mq))){ERR_MSG(setsockopt);return -1;}printf(membership set succes );//新建一个网络信息结构体用来存储接受的数据从哪来struct sockaddr_in sendaddr;int sendlen sizeof(sendaddr);char buf[128] ;ssize_t res 0;while(1){//接受发送端客户端发来的数据bzero(buf,sizeof(buf));res recvfrom(fd,buf,sizeof(buf),0,\(struct sockaddr*)sendaddr,sendlen);if(-1 res){ERR_MSG(recvfrom);return -1;}else if(0 res){printf(发送端退出\n);break;}printf(recvfrom success\n);printf([%s:%d] msg:%s\n,inet_ntoa(sendaddr.sin_addr),\ntohs(sendaddr.sin_port),buf);}//关闭套接字close(fd);return 0; }结果
http://www.w-s-a.com/news/602140/

相关文章:

  • 深圳罗湖网站设计公司建设的网站属于无形资产吗
  • 网站开发python西安网站建站品牌
  • 网站开发商标属于哪一类做网站还有钱赚吗
  • 做设计的搜素材上什么网站好设计公司画册设计哪家好
  • 视频网站开发需要什么语言做ui设计一年后年薪多少
  • 网站服务器维护费用统一企业官方网站
  • 网站如何调用手机淘宝做淘宝客呼和浩特网站运营公司
  • 做推广可以上那些网站网页游戏排行榜2014前十名
  • 国外网站备案流程企业网站 流程
  • 重庆网站建设letide童程童美少儿收费价目表
  • 苏州建站仿站东莞排名推广
  • 大中小网站的区分wordpress个人主页主题
  • 商务网站建设的可行性分析包括小程序源码网免费
  • 永州网站建设收费标准重庆网站建设公司夹夹虫专业
  • python做网站多少钱wordpress 2.8
  • 深圳网站平台网站开发工作程序怎么写
  • 自己可以接单做网站吗wordpress 添加自定义按钮
  • 网站首页权重宣传页制作
  • 智能网站建设软件有哪些方面网页的建设
  • 石铜路网站建设生鲜电商网站开发
  • 怎么提高网站加载速度慢网站的轮播怎么做的
  • 网络网站推广优化建筑工程教育网官方网站
  • 旅行社网站策划做网站编辑好还是美工好
  • 珠海做网站找哪家好在线磁力搜索神器
  • 做网站优化有必要wordpress导航栏字体
  • 中山网站建设半江红沈阳免费网站建站模板
  • 工信部网站备案管理系统网站备案负责人 更换
  • 我要做个网站该怎么做怎么做电商平台网站
  • wordpress教程 网站标题莱芜大众网
  • 网站建设业务终止合作范本主机公园wordpress