亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? server.c

?? 《c語言高級實例解析》光盤所附源代碼
?? C
字號:

#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <stat.h>
#include <ctype.h>
#include <dir.h>
#include <dos.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include "pport.h"

int receive_file(int handle, long size);

#define R_BLOCK   2048          
#define DIR_BUF_SIZE 30000      

char buffer[R_BLOCK];
char dir_buffer[DIR_BUF_SIZE];

#define MAX_WAIT  1200

main()
{
	int i, j, k, count, h;
	long size, free, total;
	char name[121], *endptr, b[131], *dn, *p, *limit;
	struct ffblk fb;
	struct dfree df;
	
	
	printf("\n\n\n                            File transfer server\n\n");
	
	pp_initialize(0);		
	
	while(1)
	{  j = pp_read_data_block(&count, buffer);	
	
	if (j == CHAR1_TIMEOUT)	
	{  if (kbhit())		
	{  k = getch();
	if (k == 'q' || k == 'Q')
	{  pp_initialize(0);
	exit(0);
	}
	}
	continue;
	}
	if (j != OK) barfr(j);	
	
	buffer[count] = 0;              
	
	if (!strnicmp(buffer, "quit", 4))
	{  printf("QUIT command received\n");
	pp_initialize(0);
	exit(0);
	}
	
	else if(!strnicmp(buffer, "HI", 2))
	{  pp_delay();                     
	pp_send("HI");			
	}
	
	else if(!strnicmp(buffer, "PWD", 3))  
	{  getcwd(b, 121);		    
	pp_send(b);
	}
	
	else if(!strnicmp(buffer, "CD", 2))   
	{  dn = buffer + 3;                   
	
	
	if (dn[1] == ':') 		    
	{  if (strlen(dn) == 2) strcat(dn, "\\");
	j = toupper(dn[0]) - 'A';
	k = setdisk(j);		    
	if (j >= k)
	{  pp_send("BAD DISK");
	continue;
	}
	}
	k = chdir(dn);			   
	if (k != 0)
	{  pp_send("BAD DIRECTORY");
	continue;
	}
	pp_send("OK");
	}
	
	else if(!strnicmp(buffer, "DIR", 3))   
	{  dn = buffer + 4;                    
	j = strlen(dn);
	
	if (j == 0 || dn[j-1] == ':' || dn[j-1] == '\\') strcat(dn, "*.*");
	
	
	p = dir_buffer;
	limit = dir_buffer + DIR_BUF_SIZE - 100;
	k = 0;
	total = 0;
	j = findfirst(dn, &fb, FA_DIREC);	
	if (j == 0) do
	{  if (fb.ff_attrib == FA_DIREC)
		j = sprintf(p, "%-12s          [Dir]\n", fb.ff_name);
	else
	{  j = sprintf(p, "%-12s   %8ld   %2d/%02d/%2d\n",	    
	fb.ff_name, fb.ff_fsize, (fb.ff_fdate >> 5) & 0xf,
	fb.ff_fdate & 0x1f, (fb.ff_fdate >> 9) + 80);
	total += fb.ff_fsize;
	}
	p += j;
	k++;
	if (p > limit)					
	{  p = stpcpy(p, "Directory too big\n");
	break;
	}
	} while (0 == findnext(&fb));			
	if(dn[1] == ':') j = toupper(dn[0]) - 'A' + 1;
	else j = 0;
	getdfree(j, &df);
	sprintf(p, "... %d files - %ld bytes total, %ld bytes free ...\n\n",
		k, total, (long)df.df_avail * df.df_bsec * df.df_sclus);
	pp_send(dir_buffer);				
	}
	
	
	
	else if(!strnicmp(buffer, "MD", 2))   
	{  dn = buffer + 3;                 
	k = mkdir(dn);			
	if (k != 0)
	{  pp_send("CAN\'T CREATE DIRECTORY");
	continue;
	}
	pp_send("OK");
	}
	
	else if(!strnicmp(buffer, "PUT", 3))
	{  size = strtol(buffer+3, &endptr, 10);	
	buffer[count] = 0;
	strcpy(name, endptr + 1);
	h = open(name, O_RDONLY);
	if (h >= 0)            
	{  close(h);
	sprintf(b, "%s EXISTS", name);
	pp_send(b);
	}
	else
	{  h = open(name, O_WRONLY | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
	if (h < 0) pp_send("CAN\'T OPEN");
	else
	{  pp_send("SEND");
	receive_file(h, size);			
	close(h);
	printf("Received: %s\n", name);
	}
	}
	}
	
	else       
	{  buffer[8] = 0;
	printf("Unrecognized command >%s<\n", buffer);
	}
   }
}





int receive_file(int handle, long size)	
{  int i, j, n;

while(size > 0)
{  for (i=0;  i<MAX_WAIT;  i++)
{  j = pp_read_data_block(&n, buffer);
if (j != CHAR1_TIMEOUT) break;
}
if (j == CSUM_FAIL || j == COUNT_FAIL)	
{  printf("Repeat\n");
pp_send("REPEAT");
continue;
}
else if (j == OK)
{  write(handle, buffer, n);
size -= n;
pp_send("OK");				
}
else barfr(j);
}
}






pp_send(char *s)          
{
	int j;
	
	while(1)
	{  j = pp_send_data_block(strlen(s), s);
	if (j == OK) return;
	if (j != CHAR1_TIMEOUT) barft(j);
	}
}


barfr(int j)               
{  int i;

printf("Data receive failed with return code %d\n", j);
for(i=0;  i<8;  i++) printf("  %02x", buffer[i]);
printf("\n");
pp_initialize(0);
exit(99);
}


barft(int j)			
{
	printf("Transmission failed with error code %d\n", j);
	pp_initialize(0);
	exit(99);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.欧美日韩国产在线| 久久这里只有精品6| 精品嫩草影院久久| 一区二区欧美精品| 国产成人综合自拍| 欧美高清视频不卡网| 国产精品国产精品国产专区不蜜| 日韩av网站免费在线| 91福利资源站| 国产精品久久久久久福利一牛影视| 日韩高清在线一区| 一本大道久久a久久精二百| 国产亚洲精品福利| 日本sm残虐另类| 欧美日韩国产高清一区二区| 国产精品网站在线观看| 久久99九九99精品| 91精品国产欧美一区二区成人| 亚洲精品国产第一综合99久久| 岛国一区二区三区| 久久蜜桃av一区精品变态类天堂| 亚洲国产精品视频| 99久久国产综合精品色伊| 久久久精品日韩欧美| 久久99国产精品麻豆| 欧美日韩1区2区| 五月综合激情网| 欧美综合在线视频| 亚洲一区二区不卡免费| 一本色道亚洲精品aⅴ| 中文字幕在线观看不卡视频| 国产成人av福利| 337p日本欧洲亚洲大胆精品| 精品无人码麻豆乱码1区2区| 精品国产麻豆免费人成网站| 久久av老司机精品网站导航| 日韩欧美亚洲另类制服综合在线| 免费在线观看不卡| 精品少妇一区二区三区日产乱码 | 91精品国产手机| 亚洲第一成人在线| 欧美日韩中文字幕精品| 亚洲一区二区三区四区的| 欧美午夜不卡在线观看免费| 亚洲成人在线观看视频| 8v天堂国产在线一区二区| 香蕉乱码成人久久天堂爱免费| 欧美疯狂性受xxxxx喷水图片| 日本aⅴ亚洲精品中文乱码| 26uuu亚洲综合色欧美| 国产在线国偷精品免费看| 久久久精品tv| 91在线视频18| 日本v片在线高清不卡在线观看| 日韩精品中文字幕一区| 国产麻豆精品视频| 国产精品不卡一区| 欧美色男人天堂| 精品一区二区免费看| 国产精品亲子伦对白| 在线观看一区日韩| 日本伊人精品一区二区三区观看方式| 精品国产伦理网| 成人小视频在线| 亚洲v中文字幕| 久久精品视频免费| 欧亚一区二区三区| 国产一区二区三区最好精华液| 自拍偷拍亚洲综合| 欧美一区二区福利视频| 国产馆精品极品| 亚洲国产色一区| 日本一区二区三区四区在线视频| 欧美性生活影院| 国产成人精品免费看| 亚洲国产日产av| 国产日产欧美精品一区二区三区| 欧美在线观看视频在线| 国产一区二区剧情av在线| 亚洲一区免费视频| 久久精子c满五个校花| 欧美日韩国产小视频| 盗摄精品av一区二区三区| 日韩国产精品久久久| 亚洲啪啪综合av一区二区三区| 精品国产免费人成电影在线观看四季| 色94色欧美sute亚洲线路二| 国产一区二区在线看| 视频一区二区三区中文字幕| 国产精品乱码久久久久久| 日韩欧美高清一区| 欧美日韩亚洲高清一区二区| heyzo一本久久综合| 久久精品国产99| 香蕉乱码成人久久天堂爱免费| 国产精品久久久久婷婷二区次| 精品国产凹凸成av人导航| 欧美性猛交xxxxxxxx| 成人av片在线观看| 国产高清在线精品| 美腿丝袜在线亚洲一区| 天天影视涩香欲综合网| 亚洲精品伦理在线| 国产精品美女久久久久久久 | 美女视频黄a大片欧美| 亚洲va在线va天堂| 亚洲夂夂婷婷色拍ww47| 亚洲伦理在线精品| 国产精品黄色在线观看| 欧美国产一区在线| 久久新电视剧免费观看| 精品福利二区三区| 精品久久久久久亚洲综合网| 欧美一级在线视频| 3751色影院一区二区三区| 欧美在线视频不卡| 欧美影院一区二区| 欧美女孩性生活视频| 欧美日韩国产在线观看| 欧美日韩高清一区二区| 欧美日韩在线不卡| 欧美日韩成人综合天天影院| 欧美日韩国产色站一区二区三区| 欧美日韩视频在线一区二区| 欧美日韩中文另类| 欧美日韩一区久久| 欧美顶级少妇做爰| 日韩一区二区三区精品视频| 日韩精品自拍偷拍| 亚洲精品在线免费播放| 欧美国产视频在线| 日韩伦理av电影| 亚洲香肠在线观看| 日本欧美一区二区三区| 精品一二线国产| 成人精品高清在线| 欧美在线free| 日韩三级av在线播放| 日本一区二区三区电影| 亚洲精选在线视频| 日本不卡不码高清免费观看| 国产一区二区美女诱惑| 成人av午夜电影| 欧美日韩专区在线| 精品电影一区二区三区| 国产精品国产三级国产普通话三级| 亚洲狠狠丁香婷婷综合久久久| 日韩精品一二三四| 黑人巨大精品欧美黑白配亚洲 | 久久精品国产亚洲高清剧情介绍| 国产乱码字幕精品高清av | 337p亚洲精品色噜噜噜| 久久精品一区四区| 亚洲永久精品大片| 极品少妇xxxx精品少妇偷拍| 成人激情午夜影院| 欧美福利电影网| 久久免费的精品国产v∧| 亚洲一级二级在线| 国产综合色产在线精品| 欧美亚洲综合一区| 精品福利视频一区二区三区| 一区二区三区资源| 国产美女精品一区二区三区| 欧美私模裸体表演在线观看| 久久久久99精品一区| 五月天视频一区| 色综合久久六月婷婷中文字幕| 欧美成人伊人久久综合网| 中文字幕在线一区二区三区| 久久av中文字幕片| 欧美日韩一级片网站| 专区另类欧美日韩| 国产福利一区二区三区在线视频| 欧美网站一区二区| 最近日韩中文字幕| 狠狠色狠狠色综合系列| 欧美日本高清视频在线观看| 亚洲天堂网中文字| 国产aⅴ综合色| 精品国产一区久久| 亚洲成人久久影院| 欧美最新大片在线看| 国产精品国产三级国产aⅴ无密码| 久久av资源网| 日韩欧美亚洲国产另类| 三级一区在线视频先锋| 欧日韩精品视频| 亚洲综合激情另类小说区| 成人18视频在线播放| 中文字幕乱码日本亚洲一区二区| 久久99国产精品免费网站| 欧美一区2区视频在线观看| 亚洲图片欧美综合| 91久久久免费一区二区| 中文字幕一区在线| 99精品国产热久久91蜜凸| 国产精品视频第一区| 成人丝袜高跟foot| 国产欧美一区二区三区在线看蜜臀|