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

网站开发操作可行性报告百度数据中心

网站开发操作可行性报告,百度数据中心,云南省建设工程标准定额网站,中国住房和城乡建设部建造师网站问题描述: 自己在vmware中搭建了2台虚拟机,虚拟机A向虚拟机A和虚拟机B发送广播信息,接收端在虚拟机A和虚拟机B,这个时候,由于没配置sin.sin_addr.s_addr htonl(INADDR_ANY);,而是配置的inet_pton(AF_INET,…

问题描述:
自己在vmware中搭建了2台虚拟机,虚拟机A向虚拟机A和虚拟机B发送广播信息,接收端在虚拟机A和虚拟机B,这个时候,由于没配置sin.sin_addr.s_addr = htonl(INADDR_ANY);,而是配置的inet_pton(AF_INET, SERV_IP, &sin.sin_addr.s_addr);,导致虚拟机A的广播信号发出去了,但是虚拟机B和虚拟机A完全收不到UDP广播数据。

要点:

  1. 在发送端配置
    // 设置允许广播数据
    int b_br = 1;
    setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, &b_br, sizeof(int));
  2. 在接收端配置
    sin.sin_addr.s_addr = htonl(INADDR_ANY);绑定到任意接口
// receive.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <unistd.h>#define SERV_PORT 5001
#define SERV_IP "192.168.32.133"int main(int argc, char *argv[])
{int sockfd;struct sockaddr_in sin;struct in_addr sinp;char buf[BUFSIZ];// 1. 创建socketif((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0){perror("socket");exit(1);}//	int b_br = 1;
//	setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, &b_br, sizeof(int));// 2. 绑定服务器sin.sin_family = AF_INET;sin.sin_port = htons(SERV_PORT);// inet_pton(AF_INET, SERV_IP, &sin.sin_addr.s_addr);sin.sin_addr.s_addr = htonl(INADDR_ANY);bzero(sin.sin_zero, 8);if(bind(sockfd, (struct sockaddr *)&sin, sizeof(sin)) < 0){perror("bind");exit(1);}// 3. 从客户端接收while(1){int recvlen = -1;struct sockaddr_in srcaddrin;char srcaddr[16];int port = -1, addrlen;recvlen = recvfrom(sockfd, buf, BUFSIZ, 0, (struct sockaddr*)&srcaddrin, &addrlen);inet_ntop(AF_INET, &srcaddrin.sin_addr.s_addr, srcaddr, sizeof(srcaddrin));port = ntohs(srcaddrin.sin_port);if(recvlen == 0) printf("Client (%s:%d) is orderly shutdown\n", srcaddr, port);else if(recvlen < 0){perror("recvfrom");break;}else {// 接收到recvlen个数据if(strncasecmp("quit", buf, 4) == 0) break;printf("Client (%s:%d) recv data len=%d, addrlen=%d from client: %s\n", srcaddr, port, recvlen, addrlen, buf);}}// 4. 处理业务// 5. 发送数据close(sockfd);return 0;
}
// sender.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <unistd.h>#define SERV_PORT 5001
#define SERV_IP "192.168.32.255"int main(int argc, char *argv[])
{int sockfd;struct sockaddr_in sin;struct in_addr sinp;char buf[BUFSIZ];// 1. 创建socketif((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0){perror("socket");exit(1);}// 设置允许广播数据int b_br = 1;setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, &b_br, sizeof(int));// 2. 发送消息sendtosin.sin_family = AF_INET;sin.sin_port = htons(SERV_PORT);inet_pton(AF_INET, SERV_IP, &sin.sin_addr.s_addr);bzero(sin.sin_zero, 8);while(1){if(fgets(buf, BUFSIZ, stdin) == NULL){perror("fgets");continue;}sendto(sockfd, buf, BUFSIZ, 0, (struct sockaddr *)&sin, sizeof(sin));if(strncasecmp("quit", buf, 4) == 0) break;}close(sockfd);return 0;
}
http://www.mmbaike.com/news/106908.html

相关文章:

  • 做网站后都需要什么sem分析是什么
  • 网站欢迎界面设计西安区seo搜索排名优化
  • 备案个人可以做视频网站吗松原新闻头条
  • 网站建设使用多语言推荐几个靠谱的网站
  • 自媒体平台收益凌哥seo
  • 大连做网站绍兴厂商百度推广怎么找客户
  • 网站ico图标徐州百度推广电话
  • 深圳微信建网站新手怎么做seo优化
  • 自己做的网站别人怎么上网找到关键词优化如何
  • 宁波手机网站建设seo网站排名优化软件是什么
  • 建新闻网站灰色行业推广
  • 十大免费游戏网站点开即玩怎么注册域名
  • 网站开发与设计期末考试深圳网站建设推广优化公司
  • 互推商盟seo培训一对一
  • 房地产网站开发文档百度手机版网址
  • 手机网站开发建设方案丹东网站seo
  • 贵州省城乡建设厅网站材料价什么是seo关键词优化
  • 怎样用虚拟空间做网站滨州网站建设
  • 做dj音乐网站百度平台商家客服
  • 做百度移动网站点百度seo和谷歌seo有什么区别
  • 做精神科网站价格网络暴力事件
  • 一元夺宝网站建设黄页引流推广网站
  • 网站上的搜索怎么做优化大师最新版下载
  • 做网站为什么要用php框架国内最新新闻大事
  • 外贸站群营销型企业网站的功能
  • 无证做音频网站违法吗怎么注册自己的网站
  • 建设网站协议合同范本企业如何注册自己的网站
  • 甜品网站网页设计代码北京网站制作推广
  • yy简历网seo变现培训
  • 国外js建设网站品牌传播策略