第7章嵌入式Linux网络应用开发(新)2祥解.ppt

第7章嵌入式Linux网络应用开发(新)2祥解.ppt

  1. 1、本文档共129页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章嵌入式Linux网络应用开发(新)2祥解.ppt

setbuf(f, 0);? alarm(TIMEOUT);? if (!fgets(buf, 150, f)) { //读连接,如出错提示 fprintf(stderr, httpd: Error reading connection, error %d\n, errno); fclose(f); alarm(0); return 0; } alarm(0);? referrer[0] = \0; content_length = -1; alarm(TIMEOUT); else if (!strcmp(r - 4, .gif)) DoGif(f,c);// gif文件处理 else if (!strcmp(r - 4, .jpg) || !strcmp(r - 5, .jpeg)) DoJpeg(f,c); else if (!strcmp(r - 4, .htm) || !strcmp(r - 5, .html)) DoHTML(f,c); //HTML文件处理 else DoText(f,c); //文本文件处理 } else{ PrintHeader(f,‘h’);//发协议文件头 alarm(TIMEOUT); fprintf(f, htmlheadtitle404 File Not Found/title/head\n); fprintf(f, bodyThe requested URL was not found on this server/body/html\n); alarm(0); } return 0; } //读下一行进行解析 while (fgets(buf1, 150, f) (strlen(buf1) 2)) { alarm(TIMEOUT); if (!strncasecmp(buf1, Referer:, 8)) { char * c = buf1+8; while (isspace(*c)) c++; strcpy(referrer, c); } else if (!strncasecmp(buf1, Referrer:, 9)) { char * c = buf1+9; while (isspace(*c)) c++; strcpy(referrer, c); } else if (!strncasecmp(buf1, Content-length:, 15)) { content_length = atoi(buf1+15); } } alarm(0); if (ferror(f)) { fprintf(stderr, http: Error continuing reading connection, error %d\n, errno); fclose(f); return 0; } ParseReq(f, buf);?//解析HTTP请求并输出 alarm(TIMEOUT); fflush(f); fclose(f); alarm(0); return 1; } void* key(void* data) //键盘处理函数 { int c; for(;;){ c=getchar(); if(c == q || c == Q){ KEY_QUIT=1; exit(10); break; } } } int main(int argc, char *argv[]) //主函数定义 { int fd, s; int len; volatile int true = 1; struct sockaddr_in ec; struct sockaddr_in server_sockaddr; pthread_t th_key; //声明了一个线程 void * retval;? ?//获取异常信号定义 signal(SIGCHLD, SIG_IGN); signal(SIGPIPE, SIG_IGN); signal(

文档评论(0)

四娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档