这个东西原理简单,就是要懂一些HTML语言,然后LWIP网络编程模拟一个简单的网站。可用于参数配置,非常适合那种不带液晶屏和按键,但又有大量数据要配置的设备。直接用浏览器配置数据,免去了上位机配置软件的开发,方便使用。
/*web 任务*/
void task_for_web_server(void *arg)
{
int retval;
int web_listen_sockfd;
int i;
int rcvlen, sndlen;
int curRecePos=0;
socklen_t addrlen;
struct sockaddr_in srv_sockaddr,cln_sockaddr;
OSTimeDlyHMSM(0,0,1,0);//==d等系统准备好
web_server_init();
memset(&srv_sockaddr, 0, sizeof(struct sockaddr_in));
#if !(defined LWIP_BSD_SOCKER && LWIP_BSD_SOCKER > 0)
srv_sockaddr.sin_len = sizeof(struct sockaddr_in);
#endif
srv_sockaddr.sin_family = AF_INET;
srv_sockaddr.sin_port = htons(80);
srv_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);
//=======
printf("task_for_http_server go...\r\n");
for(;;)
{
/* 创建TCP socket. */
web_listen_sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(web_listen_sockfd == (-1))
{
printf("\nERR:web_listen_sockfd ceate errlog=%d\n",errno);
close(web_listen_sockfd);
continue;
}
setsockopt(web_listen_sockfd, SOL_SOCKET, SO_REUSEADDR, &attr_bind, sizeof(attr_bind));
/* 绑定socket IP地址及端口号. */
addrlen = sizeof(struct sockaddr_in);<