⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servlet.c

📁 实现了一个简单的web服务器
💻 C
字号:
#include "server.h"void doAction(HTTP_REQ *http_req,int client_sockfd) {	char* param;	char json[TEXT_SIZE];	char text_content[TEXT_SIZE];	char tmp[50];	int number;	int ret;	int status[LED_NUM];	int i=0;	char* action=http_req->req_url;	if(strcmp(action,"turn_on")==0) { //开灯		param=getParameter(http_req,"index");		number=atoi(param);		printf("led number %d\n",number);		ret=turn_on(number);		if(ret==1)			sprintf(json,"\"success\":true");		else 			sprintf(json,"\"success\":false");	}/*	else if(strcmp(action,"turn_off")==0) { //关灯		param=getParameter(http_req,"index");		number=atoi(param);		printf("led number %d\n",number);		ret=turn_off(number);		if(ret==1)			sprintf(json,"\"success\":true");		else 			sprintf(json,"\"success\":false");	}*/	else if(strcmp(action,"get_status")==0) { //当前所有灯的状态		printf("get_status\n");				ret=get_status(status);		sprintf(json,"{\"status\":[");		for(i=0;i<LED_NUM;i++) {			if(i!=LED_NUM-1)				sprintf(tmp,"{\"led\":%d},",status[i]);			else 				sprintf(tmp,"{\"led\":%d}],\"success\":true}",status[i]);					strcat(json,tmp);		}	}	else if(strcmp(action,"get_history")==0) { //LED亮灭的历史 			printf("get_history\n");		ret=get_history(text_content);		sprintf(json,"%s",text_content);	}	else if(strcmp(action,"get_log")==0) { //操作日志		printf("get_log\n");		ret=get_log(text_content);		sprintf(json,"%s",text_content);	}	else if(strcmp(action,"command")==0){ //执行一些列的开灯		param=getParameter(http_req,"command");		printf("param %s\n",param);		ret=command(param);		sprintf(json,"{\"command\":false}");	}	send(client_sockfd, json , strlen(json), 0);	 }char *getParameter(HTTP_REQ *http_req,char* name) {	int i;		for(i=0;i<http_req->param_count;i++) {		if(strcmp(http_req->params[i].name,name)==0) {					return http_req->params[i].value;		}	}	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -