完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用UDP通信,只有连接到服务器使用host = (struct hostent *) gethostbyname(url);函数解析域名可以实现MUC和主机通信 但是直接用网线直连MCU和主机就只有主机可以发送数据给MCU MCU就不能返回数据到主机
使用host = (struct hostent *) url;函数MCU可以发送出去数据 但是抓包发现MCU的发送数据的目标地址是0.0.0.0 但是目标端口没有问题,下面是代码: char url[15] = "172.16.30.54"; 这个是目标IP地址 void udp_send_data(int port, char url, char send_data) { int sock, ret; struct hostent *host; struct sockaddr_in server_addr; /* 通过函数入口参数url获得host地址(如果是域名,会做域名解析) */ //host = (struct hostent *) gethostbyname(url); host = (struct hostent *) url; /* 创建一个socket,类型是SOCK_DGRAM,UDP类型 */ if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { rt_kprintf("Socket error "); return; } /* 初始化预连接的服务端地址 */ server_addr.sin_family = AF_INET; server_addr.sin_port = htons(port); server_addr.sin_addr = *((struct in_addr *)host->h_addr); rt_memset(&(server_addr.sin_zero), 0, sizeof(server_addr.sin_zero)); if(connect(sock, (struct sockaddr *)&server_addr, sizeof(struct sockaddr)) != 0) { rt_kprintf("Connect fail! "); return; } /* 连接成功 */ rt_kprintf("Connect successful "); ret = send(sock, send_data, sizeof(send_data), 0); if(ret < 0) LOG_D("send error..."); /* 发送数据到服务远端 */ // sendto(sock, send_data, strlen(send_data), 0,(struct sockaddr *)&server_addr, sizeof(struct sockaddr)); LOG_D("sendto data is OK..."); /* 线程休眠一段时间 */ rt_thread_delay(50); /* 关闭这个socket */ closesocket(sock); } 下面这张图片是抓到的包目标地址不对 工程文件我已经配置了静态IP 我也设置成了同一个网段 有没有什么方法让MCU和主机通过网线直连的方式实现通信? |
|
相关推荐
3个回答
|
|
你的第17行代码中,拿到了server_addr之后,为什么要rt_memset?它应该放到第13行去吧,先memset,再得到server_addr。
memset之后,server_addr.sin_addr就是0呀。 |
|
|
|
那 MCU发送数据的目标IP地址怎么处理呢
直接用host = (struct hostent *) url; 抓到的包,目标IP还是0.0.0.0 用host = (struct hostent *) gethostbyname(url);的话MCU就发送不了数据 |
|
|
|
加个路由器试试呢,是不是不支持直连网线
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
811 浏览 0 评论
5294 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2684 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
3032 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
32361 浏览 11 评论
73312 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 15:52 , Processed in 0.560155 second(s), Total 42, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号