您好、欢迎来到现金彩票网!
当前位置:双彩网 > 协议栈 >

利用stm32的lwip TCPIP协议栈的通信的思路

发布时间:2019-05-29 01:57 来源:未知 编辑:admin

  Stm32作为服务器与stm32作为客户端程序编写的基本步骤,思路清理:

  当stm32作为服务器端的时候,首先有一点要明确的是端口与ip的确定性,当然,后期需要改变的是,如果服务器地址的变动,就需要相应的做些程序的改变。

  1、利用lwip对网卡做相应的初始化工作,例如ip地址,网络掩码,以及网关的操作。

  2、对服务器端的相应操作。(包括pcb控制块的获取,结构体的初始化工作。)

  注意:监听的时候,需要重新设置的是pcb结构体的内存布局,节省内存空间。监听其实也是一个获取信息的过程,控制块在进行回调的时候,是有主机相关的参与,控制块也会相应的改变。

  在监听相应的端口的操作完毕之后,数据的接收和发送的工作就在这个时刻完成,在接收数据的程序当中,相应的可以通过一个tcp_write的操作将数据显示在浏览器当中。需要明确的是,一个send的数据,和一个write的功能是有差别的。

  由于stm32是一个服务器端,因此不可避免的是,服务器端的tcp连接是不用手动进行断开的,那么有两个操作是附带的。一个是pcb控制块的内存空间是不用进行释放的,另外一个就是tcp的连接是不用断开的。

  Stm32作为客户端,所需要的操作和stm32作为服务器端的思想有一个转变的过程,思路如下:

  1、初始化网卡的相关信息。客户端的相关操作有,ip地址,掩码,网关的操作。

  3、进行连接。前提是有Ip地址和相应的端口可以给出,这里API给出了相关的回调方法(函数)。

  今天一天都在调试tcp_connect()函数,唉,现在分析一下原因:一、网上的资料,弄来弄去,都是一个将stm32当作服务器,很少是将stm32当作客户端的,也许,配置pc服务器对它们来说是一件费力的事情。二、没有资料,只好自己一下下花时间的去调试,可悲的是,晚上才明白原来自己把网络的远程地址的赋值方法设置的是有一定问题的,我是按照给的方案塞地址的,这种方法不对。三、我怀疑的是我搭建的服务器有问题,确实,再我回头搞服务器的时候,它却根本不听我的话。三、就是电脑的防火墙,这个我只能是听网上的说这个东东。

  解决办法是:上面我给的思路是没有问题的,按照那个思路,离成功不远,也许一次能成功,都是靠慢慢来的。而且,昨天,我在做这个测试的完毕,想上网的时候,给电脑插上网线,我的电脑不能上网了,郁闷,难道我还得考虑网卡的问题,而且,网卡灯是闪着的,却不能上,当然,今天我是测速过ping的。wireshark也是做了哦。

  服务器的配置,可以用C++进行配置,当然也可以用java来配置,这个比C++简单多了。

  终于将代码与思路理清,lwip还是有很多的内容值得我们学习啊

http://katzztheva.com/xieyizhan/33.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有