changjianfeng 发表于 2012-1-6 10:09:16

验证web实例遇见问题

验证手册中的LwIP API编写的一个简单的web服务器,可以正常显示,当我把const static char http_html_hdr[]中插入大量字符时,程序
/* 接受新的连接请求*/
newconn = netconn_accept(conn);死于这里,不向下执行,同时ping不通。我使用线程的RAM为2048.具体的工程是在projec_full。上传工程,使用28j60
点击此处下载 ourdev_710685O58I2B.rar(文件大小:14.97M) (原文件名:RT-Thread 0.3.3.rar)

changjianfeng 发表于 2012-1-6 10:23:35

使用RT-Thread0.3.3

changjianfeng 发表于 2012-1-9 19:52:20

那位有用lwip做的开关LED灯的例子,传一个看看

changjianfeng 发表于 2012-1-10 09:52:33

问题找到了,
/* 发送头部数据*/
netconn_write(conn, http_html_hdr, sizeof(http_html_hdr), NETCONN_NOCOPY);
/* 发送实际的web页面*/
netconn_write(conn, indexdata, sizeof(indexdata), NETCONN_NOCOPY);
例子中的这二个发送数据的函数,发送头部数据的这个,数据量不能大,具体大于多少,就不能成功,我也没试,反正要显示的数据用发送实际web的这个发送,就没有问题了(二个函数是一样的,没啥区别)。不知道为啥。我的这二个数据分别为:
/* 这是实际的web页面数据。大部分的编译器会将这些数据放在ROM里*/
const static char http_html_hdr[]={"实例\r\n\r\n"};


const static char indexdata[]={
"<p><b><span lang=EN-US>A/D </span>温度监视<span lang=EN-US>:(</span>范围<span\r\n"
"lang=EN-US>0~<st1:chmetcnv UnitName=\"°C\" SourceValue=\"50\" HasSpace=\"False\"\r\n"
"Negative=\"False\" NumberType=\"1\" TCSC=\"0\" w:st=\"on\">50°C</st1:chmetcnv>)</span></b></p>\r\n"
"\r\n"
"<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 width=540\r\n"
" style='width:405.0pt;mso-cellspacing:0cm;background:red;border:outset 4.5pt;\r\n"
" mso-padding-alt:0cm 0cm 0cm 0cm'>\r\n"
" <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>\r\n"
"<td style='padding:0cm 0cm 0cm 0cm'>\r\n"
"<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0\r\n"
"   style='mso-cellspacing:0cm;mso-padding-alt:0cm 0cm 0cm 0cm'>\r\n"
"   <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>\r\n"
"    <td style='background:lime;padding:0cm 0cm 0cm 0cm'>\r\n"
"    <p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>\r\n"
"    </td>\r\n"
};
这二个数组数据,发送时,要先发送http_html_hdr[]里的内容,再发送indexdata[]里的。反之不可以。我对网络了解的不多,不知道咋回事。谁知道,能说说吗?

changjianfeng 发表于 2012-1-10 20:14:12

为啥子没人说说

changjianfeng 发表于 2012-1-13 16:18:47

估计大家都准备回家过年了,没人顶了。
页: [1]
查看完整版本: 验证web实例遇见问题