OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3137|回复: 5

网络模块通过连接路由器,连接外部服务器,一直收到ARP包,没有ip包,始终没有连接成功

[复制链接]

15

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2015-3-20
在线时间
5 小时
发表于 2015-9-11 11:28:30 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]if(uip_len>0) //有数据 { //处理IP数据包(只有校验通过的IP包才会被接收) if(BUF->type == htons(UIP_ETHTYPE_IP))//是否是IP包? { uip_arp_ipin(); //去除以太网头结构,更新ARP表 uip_input(); //IP包处理 //当上面的函数执行后,如果需要发送数据,则全局变量 uip_len > 0 //需要发送的数据在uip_buf, 长度是uip_len (这是2个全局变量) if(uip_len>0)//需要回应数据 { uip_arp_out();//加以太网头结构,在主动连接时可能要构造ARP请求 tapdev_send();//发送数据到以太网 } }else if (BUF->type==htons(UIP_ETHTYPE_ARP))//处理arp报文,是否是ARP请求包? { uip_arp_arpin(); //当上面的函数执行后,如果需要发送数据,则全局变量uip_len>0 //需要发送的数据在uip_buf, 长度是uip_len(这是2个全局变量) if(uip_len>0)tapdev_send();//需要发送数据,则通过tapdev_send发送 } }[/mw_shl_code]

[mw_shl_code=c,true] uip_ipaddr(ipaddr, 192,168,100,216); //设置本地设置IP地址 uip_sethostaddr(ipaddr); uip_ipaddr(ipaddr, 192,168,100,1); //设置网关IP地址(其实就是你路由器的IP地址) uip_setdraddr(ipaddr); uip_ipaddr(ipaddr, 255,255,255,0); //设置网络掩码 uip_setnetmask(ipaddr);[/mw_shl_code]

[mw_shl_code=c,true]//这里我们假定Server端的IP地址为:192.168.1.103 //这个IP必须根据Server端的IP修改. //尝试重新连接 void tcp_client_reconnect() { uip_ipaddr_t ipaddr; uip_ipaddr(&ipaddr,182,254,132,112); //设置IP为192.168.1.103 uip_connect(&ipaddr,htons(5555)); //端口为1400 }[/mw_shl_code]
电脑作为服务器和模块连接时可以

最佳答案

查看完整内容[请看2#楼]

我沒有用過uip , 不過我用過 lwip, 我想說的是, uip 內含的tcp/ip stack 遠遠不及 lwip ,  lwip連socket層都有了, 所以我猜..... uip 的tcp/ip stack不完整, 所以有可能有些層的protocol你要自已寫, 不然你就換更完整的 tcp/ip stack用.... 感覺你問題像這樣的 uip ---> 應該是 MicroIP  意思...意思微微 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

234

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-8
在线时间
10 小时
发表于 2015-9-11 11:28:31 | 显示全部楼层
我沒有用過uip , 不過我用過 lwip, 我想說的是, uip 內含的tcp/ip stack 遠遠不及 lwip , 
lwip連socket層都有了, 所以我猜..... uip 的tcp/ip stack不完整, 所以有可能有些層的protocol你要自已寫, 不然你就換更完整的
tcp/ip stack用....

感覺你問題像這樣的
uip ---> 應該是 MicroIP  意思...意思微微微IP....所以不會很完整的, 我個人感覺uip只是給你知道網路大約是怎麼收發這回事....
但你真要做專案....還是找完整度高一點的TCP/IP STACK, 必竟都是Free的....不用去找要$$$$$$$

以上給你參考
回复

使用道具 举报

15

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2015-3-20
在线时间
5 小时
 楼主| 发表于 2015-9-11 15:05:59 | 显示全部楼层
回复【2楼】溫柔一刀:
---------------------------------
好的谢谢 ,请问你有lwip实现客户端的参考代码吗,有的话能不能给我学习下
回复

使用道具 举报

19

主题

234

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-8
在线时间
10 小时
发表于 2015-9-11 15:19:09 | 显示全部楼层
www.st.com  
官網一堆呀, 或網上也一堆呀
回复

使用道具 举报

15

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2015-3-20
在线时间
5 小时
 楼主| 发表于 2015-9-13 13:48:51 | 显示全部楼层
回复【4楼】溫柔一刀:
---------------------------------
网上都是作为服务器的。。。
回复

使用道具 举报

15

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2015-3-20
在线时间
5 小时
 楼主| 发表于 2015-9-13 13:49:30 | 显示全部楼层
回复【4楼】溫柔一刀:
---------------------------------
你有lwip作为 tcp客户端的参考代码吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 21:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表