webserver SSI标记不适用于某些标签lwip

时间:2017-04-03 11:54:28

标签: html webserver microcontroller ssi lwip

我正在尝试使用lwip堆栈和CGI和SSI方法在没有RTOS的LPC1768上实现Web服务器代码。

我正在使用带有HTTP的SSI标签和CGI,如德州示例中所示,但是在带有lpcopen库的lpc1768上。但是我的问题是我在3中定义了27个ssi标签并将其分发到3个CGI或HTML页面上。当我使用索引23下面的标签请求页面时它工作正常,但是当索引高于22的SSI标签请求页面时,ACK丢失(wirehark捕获文件中的#30和#31)并且没有数据从控制器,下面是wireshark数据包捕获。控制器不挂起它响应Ping(wireshark捕获文件中的#62和#65)或其他页面请求。

链接:wireshark captured packetTI_Sample.cmyver.c

下面定义了SSI标签代码

consttSSITagg_psTags[] = {
/* "Variable Name on page", pointer to variable register in code    */
//  { "ledrate",  (uint32_t *) &g_ui32LEDDelay },
{"ip1", (uint16_t *) &stUser.Server.IP[0]}, /* index = 0 */   // CGI req/ page 1
{"ip2", (uint16_t *) &stUser.Server.IP[1]}, /* index = 1 */
{"ip3", (uint16_t *) &stUser.Server.IP[2]}, /* index = 2 */
{"ip4", (uint16_t *) &stUser.Server.IP[3]}, /* index = 3 */
{"port1", (uint16_t *) &stUser.Server.Port}, /* index = 4 */
{"sat", (uint16_t *) &stUser.Server.AliveTime}, /* index = 5 */
{"gw1", (uint16_t *) &stUser.HostNetwork.GW[0]}, /* index = 6 */
{"gw2", (uint16_t *) &stUser.HostNetwork.GW[1]}, /* index = 7 */
{"gw3", (uint16_t *) &stUser.HostNetwork.GW[2]}, /* index = 8 */
{"gw4", (uint16_t *) &stUser.HostNetwork.GW[3]}, /* index = 9 */
{"nm1", (uint16_t *) &stUser.HostNetwork.NM[0]}, /* index = 10 */
{"nm2", (uint16_t *) &stUser.HostNetwork.NM[1]}, /* index = 11 */
{"nm3", (uint16_t *) &stUser.HostNetwork.NM[2]}, /* index = 12 */
{"nm4", (uint16_t *) &stUser.HostNetwork.NM[3]}, /* index = 13 */
{"cip1", (uint16_t *) &stUser.Client.IP[0]}, /* index = 14 */
{"cip2", (uint16_t *) &stUser.Client.IP[1]}, /* index = 15 */
{"cip3", (uint16_t *) &stUser.Client.IP[2]}, /* index = 16 */
{"cip4", (uint16_t *) &stUser.Client.IP[3]}, /* index = 17 */
{"port2", (uint16_t *) &stUser.Client.Port}, /* index = 18 */
{"cBaud", (uint16_t *) &stUser.Ser.Baud}, /* index = 19 */ // CGI req/page 2
{"cPar", (uint16_t *) &stUser.Ser.Parity}, /* index = 20 */
{"cDB", (uint16_t *) &stUser.Ser.Databits}, /* index = 21 */
{"cSB", (uint16_t *) &stUser.Ser.Stopbits}, /* index = 22 */
{"cMode", (uint16_t *) &stUser.DevConfig.Mode}, /* index = 23 */ // CGI req/page 3
{"pdelay", (uint16_t *) &stUser.DevConfig.InterPacketDelay}, /* index = 24 */
{"fformat", (uint16_t *) &stUser.DevConfig.Mode}, /* index = 25 */
{"psize", (uint16_t *) &stUser.DevConfig.PacketSize}, /* index = 26 */
};

我想知道如何调试此问题或在哪里查找问题。

我正在尝试使用lwip堆栈和LPCopen库在lpc1768中实现具有freeRTOS Web服务器的Texas Instruments Tm4c129示例代码。

还想知道如何在没有rtos的情况下实现web服务器,以便在微控制器和网页之间共享数据。

0 个答案:

没有答案