第6节 HTTP客户端固件
推荐给好友
打印
加入收藏
更新于2009-01-11 23:56:15

        HTTP客户端可以通过ColdFire处理器读取internet上的网页和XML数据。HTTP客户端先通过DHCP客户端自动获取IP地址和其他的TCP/IP信息,包括DNS服务器的IP地址。然后通过DNS客户端将用户提供的URL转换成IP地址。

6.1 HTTP的GET请求方法的首部
        该首部是由以下这些常量字符串产生的:
                const unsigned char http_get_request[] = “GET” ;
                const unsigned char http_compatability[] = “HTTP/1.1\r\nAccept:
                                        */*\r\nAccept-Language: en-us\r\nUser-Agent: Mozilla/4.0\r\n”;
                const unsigned char http_host[] = “Host:” ;
                const unsigned char http_keep_alive[] = “Connection: Keep-Alive\r\n”;
                const unsigned char http_done[] = “\r\n”;
        http_get_request[]
  • ——接下来就是被请求URL的文件名部分(/后的内容)。
        http_compatability[]
  • ——兼容性字符串告诉HTTP服务器我们使用的语法版本和支持的浏览器类型。
        http_host[]
  • ——首部的host部分是HTTP规范所要求的。如果首部没有host字符串,大多数web服务器连接都会失败的。Apache服务器会回复一个非法首部错误。host字符串必须包含客户端正要连接的服务器主机名。例如:HTUwww.emgware.comUTH或HTUwww.freescale.comUTH。
        http_keep_alive[]
  • ——只有当HTTP客户端在接收到文件后还希望保持TCP/IP连接时,才需要设置keep-alive字符串。
        http_done[]
  • ——HTTP首部的最后一行是空行。告诉服务器已经没有其他字段了。

6.2 HTTP客户端文件
        emg_http_client.h
                声明外部函数和HTTP客户端常量。
        #define EMG_HTTP_CLIENT_TK_SLEEP_SEC 200
                每秒多少cticks数(定义在main.c中)
        #define EMG_HTTP_CLIENT_PACKET_WAIT_SEC10
                等待分组分配完成的最大秒数
        #define EMG_HTTP_CLIENT_DNS_SEARCH_TIME_SECS 10
                等待DNS回复的最大秒数
        #define EMG_HTTP_CLIENT_RX_TIME_SECS 30
                关闭连接前,等待RX数据传输结束的最大秒数。
        emg_http_client.c
                当前(actual)HTTP客户端。
        wget_byEricGregori.c
                如何使用HTTP客户端的驱动实例的一个命令行。
                wget命令被加入TCP/IP协议栈的菜单系统,它允许从串口直接获取网页。


<<上一页    下一页>>
相关链接


 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.