当前位置: 技术问答>linux和unix
开发中关于HTTP包转发的问题
来源: 互联网 发布时间:2016-03-08
本文导语: 小弟现在在一个项目的项目分析里遇到了这样一个问题,希望能得到大家的解决。 现有一项目,实现对某种数据的实时采集,然后由FPGA采集,然后传送到ARM9上,ARM9上跑的是LINUX,由LINUX上的程序进行处理,然后数据...
小弟现在在一个项目的项目分析里遇到了这样一个问题,希望能得到大家的解决。
现有一项目,实现对某种数据的实时采集,然后由FPGA采集,然后传送到ARM9上,ARM9上跑的是LINUX,由LINUX上的程序进行处理,然后数据发送一个无线发送模块里面去进行传输(采用的TCP/IP机制)。现在要实现这样的需求:在ARM9上面建立一个WEB服务器,任何的客户端能通过WEB页面访问到实时的采集数据,或者是对采集设备进行一定的操作。难题就在于,ARM9和无线传输模块通讯是采用的写/读BUFFER并写终端机制,并且似乎无线传输模块不能进行端口映射(将无线发送设备的80端口绑定到ARM9的LINUX操作系统的80端口),现在在接受到外来的HTTP请求时,无线传输模块将接收到的HTTP包取出来,放入BUFFER中,然后发送中断给ARM,ARM9读取BUFFER,然后根据需求返回一个HTTP页面,我希望能达到这样的效果,请问收到的HTTP包怎么PUSH到LINUX的80端口上面去,并且怎么从80端口取回需求的页面?请各位大侠不吝赐教!万分感谢!
现有一项目,实现对某种数据的实时采集,然后由FPGA采集,然后传送到ARM9上,ARM9上跑的是LINUX,由LINUX上的程序进行处理,然后数据发送一个无线发送模块里面去进行传输(采用的TCP/IP机制)。现在要实现这样的需求:在ARM9上面建立一个WEB服务器,任何的客户端能通过WEB页面访问到实时的采集数据,或者是对采集设备进行一定的操作。难题就在于,ARM9和无线传输模块通讯是采用的写/读BUFFER并写终端机制,并且似乎无线传输模块不能进行端口映射(将无线发送设备的80端口绑定到ARM9的LINUX操作系统的80端口),现在在接受到外来的HTTP请求时,无线传输模块将接收到的HTTP包取出来,放入BUFFER中,然后发送中断给ARM,ARM9读取BUFFER,然后根据需求返回一个HTTP页面,我希望能达到这样的效果,请问收到的HTTP包怎么PUSH到LINUX的80端口上面去,并且怎么从80端口取回需求的页面?请各位大侠不吝赐教!万分感谢!
|
为什么非要将无线模块的80端口和Linux的80端口绑定呢?只需要无线模块的80端口负责对外提供HTTP服务,然后将收到的请求发送给LINUX,之后LINUX处理完后将返回的HTTP页面数据传给无线模块,再通过无线模块的80端口返还给客户端。在无线模块和LINUX之间可以采用任意的通讯技术,并不局限于80端口的。
|
你为什么要做什么映射呀
简单的:无线收发模块受到请求---arm9接收---arm9发起连接到127.0.0.1:80(本机的web侦听端口)--发送请求给web--arm9从web服务器接收数据--arm9把从web服务器接收的数据放入无线收发模块。
就是有点麻烦,效率也不高,不过,无线收发模块的速率不会太高,arm9的处理不会造成瓶颈。
简单的:无线收发模块受到请求---arm9接收---arm9发起连接到127.0.0.1:80(本机的web侦听端口)--发送请求给web--arm9从web服务器接收数据--arm9把从web服务器接收的数据放入无线收发模块。
就是有点麻烦,效率也不高,不过,无线收发模块的速率不会太高,arm9的处理不会造成瓶颈。