main_TcpNet()函数解析
最近在做一个基于LPC1700的网关项目,需要调用到相关的库,下面就来介绍下TCP_NET库中的main_TcpNet()函数。
main_TcpNet()函数是TCP_NET库中的主函数,它轮询以太网控制器并接受数据。当接收到来自客户端的数据时,则调用合适的TCPNET库函数来处理数据,并将结果传送到应用程序。由于以太网各类事件的处理都要设定超时限制,需要一个轮询执行函数timer_tick的任务,timer_tick检查设定超时限制的是以太网事件,如果事件超时则做出响应的处理。3利用RL-TCPnet实现Web服务器在创建任务的过程中,以太网任务循环执行函数main_TcpNet,从客户端发出的各种应用层请求信息都会被main_TcpNet处理,并调用相应的应用程序做出响应。在此基础上实现Web服务器的功能,只需要对Net_Config.c文件中的
宏定义和全局变量进行合理配置即可,其中与Web服务器相关的宏定义有:
#defineHTTP_ENABLE 1
#defineHTTP_NUMSESS 5
#defineHTTP_PORTNUM 80
#defineHTTP_ENAUTH 1
#defineHTTP_AUTHREALM ″EmbeddedWEBServer″
#defineHTTP_AUTHUSER ″admin″
#defineHTTP_AUTHPASSW ″″
配置项目依次为:服务器功能使能、客户端数量、端口号、认证登陆使能、认证域名、用户名、口令。实现Web服务器的另一个重要内容是服务器提供的页面。
在Keil公司推出RealViewMDK-ARM开发套件之前,如果没有文件系统的支持,嵌入式系统提供的页面只能以字符串数组的形式在C语言代码中编写,页面内容的复杂程度受到很大限制。而现在,MDK套件的编译器能够自动将html文件转换为C语言代码,然后编译生成目标代码。这一新颖实用的功能使嵌入式系统能够在简单的操作系统平台上实现功能更为强大的Web服务器。4利用脚本语句实现动态网页按照设计目标,温棚监控系统作为Web服务器提供的页面内容既要显示温棚环境温湿度的实时变化情况,又要提供对监控系统进行控制的页面表单。MDK编译器支持的html脚本语言和RL-TCPnet库提供的CGI函数二者的结合使用能够实现符合上述要求的动态网页。4.1使用脚本语言创建动态页面利用MDK编译器支持的脚本语言,可以生成动态效果的页面。实际上,使用脚本语言编写页面,完全是用标准的html语言描述页面内容,但脚本语言在每一行html语言的前面都加上了一个命令字符。命令字符的特点是能够将某一行html语言字符串设定为环境变量字符串。环境变量字符串中的内容可以被cgi_func函数动态加载从而将服务器端动态变化的信息体现在网页上。脚本语言的规则很简单,每一个脚本行都以命令字符开头,命令字符说明了其后的脚本语言的类型。
分享到:
补充:综合编程 , 其他综合 ,