freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式web服務(wù)器設(shè)計說明書-資料下載頁

2025-08-03 11:56本頁面
  

【正文】 T=0。int TIMEOUT=30。 //定義超時時間為30秒ifndef O_BINARYdefine O_BINARY 0endifchar referrer[128]。int content_length。define SERVER_PORT 80 //使用端口80int PrintHeader(FILE *f, int content_type){ //發(fā)送HTTP文件頭函數(shù) alarm(TIMEOUT)。 //超時報警處理 fprintf(f,HTTP/ 200 OK\n)。 switch (content_type) { //選定的文件的類型信息 case 39。t39。: fprintf(f,Contenttype: text/plain\n)。 break。 case 39。g39。: fprintf(f,Contenttype: image/gif\n)。 break。 case 39。j39。: fprintf(f,Contenttype: image/jpeg\n)。 break。 case 39。h39。: fprintf(f,Contenttype: text/html\n)。 break。 } fprintf(f,Server: uClinuxd \n)。 fprintf(f,Expires: 0\n)。 fprintf(f,\n)。 alarm(0)。//停止超時報警 return(0)。int DoJpeg(FILE *f, char *name){ //發(fā)送JPEG文件函數(shù) char *buf。 FILE * infile。 int count。 if (!(infile = fopen(name, r))) { alarm(TIMEOUT)。 //超時報警處理 fprintf(stderr, Unable to open JPEG file %s, %d\n, name, errno)。 FILE * infile。 int count。 if (!(infile = fopen(name, r))) { alarm(TIMEOUT)。 fprintf(stderr, Unable to open GIF file %s, %d\n, name, errno)。 fflush(f)。 alarm(0)。 return 1。 } PrintHeader(f,39。g39。)。//發(fā)送GIF類HTTP協(xié)議數(shù)據(jù)頭 copy(infile,f)。 //發(fā)送輸出GIF文件 alarm(TIMEOUT)。 fclose(infile)。 alarm(0)。 return 0。int DoDir(FILE *f, char *name){ char *buf。 DIR * dir。 struct dirent * dirent。 if ((dir = opendir(name))== 0) { fprintf(stderr, Unable to open directory %s, %d\n, name, errno)。 fflush(f)。 strcat(name, /)。 } while(dirent = readdir(dir)) { alarm(TIMEOUT)。 fprintf(f, pa href=\/%s%s\%s/a/p\n, name, direntd_name, direntd_name)。 alarm(0)。 } PrintHeader(f,39。h39。)。 //發(fā)送HTML類HTTP協(xié)議數(shù)據(jù)頭 copy(infile,f)。 //輸出網(wǎng)頁 alarm(TIMEOUT)。 fclose(infile)。 alarm(0)。 return 0。 fclose(infile)。 alarm(0)。 return 0。}int ParseReq(FILE *f, char *r){ //解析HTTP請求函數(shù) char *bp。 struct stat stbuf。 char * arg。 arg = r+1。 if (e = strchr(arg,39。 39。)) { *e = 39。\039。 } } else { { char * end = c + strlen(c)。 strcat(c, /)。 if (!stat(c, amp。stbuf)) { DoHTML(f, c)。 //HTML文件處理 } else { *end = 39。\039。 DoDir(f,c)。 //目錄文件處理void sigalrm(int signo) //信號報警退出函數(shù){ alarm(TIMEOUT)。 if (!fgets(buf, 150, f)) { //讀連接,如出錯提示 fprintf(stderr, d: Error reading connection, error %d\n, errno)。 fclose(f)。 alarm(0)。 return 0。 alarm(TIMEOUT)。 if (!strncasecmp(buf1, Referer:, 8)) { char * c = buf1+8。void* key(void* data) //鍵盤處理函數(shù){ int c。 for(。){ c=getchar()。 struct sockaddr_in server_sockaddr。 pthread_t th_key。 //聲明了一個線程 void * retval。//獲取異常信號定義 signal(SIGCHLD, SIG_IGN)。 signal(SIGPIPE, SIG_IGN)。 signal(SIGALRM, sigalrm)。 chroot(HTTPD_DOCUMENT_ROOT)。//設(shè)置工作根目錄 printf(starting d...\n)。 sizeof(server_sockaddr)) == 1) {//進(jìn)行綁定,不成功提示并退出 perror(Unable to bind socket)。 exit(1)。 } if(listen(s, 8*3) == 1) { //監(jiān)聽請求 perror(Unable to listen)。 exit(4)。 HandleConnect(fd)。 //連接處理 } pthread_join(th_key, amp。retval)。
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1