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

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

?? client.c

?? 一個簡單的linux下的網絡傳輸程序
?? C
字號:
/********************************************************************   Copyright 2004 by YAAN all rights reserved.   Filename:    client.c   Author:      Edgar Liu   Date:        2004.8.12   Description:    Others:   Main Function Lists:	1.	2.   History:********************************************************************/#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <sys/stat.h>#include <netinet/in.h>#include <arpa/inet.h>#include <errno.h>#include "public.h"char g_szPath[MAX_PATH_LENTH];char szServerAddr[16];short int nPort = DEFAULT_PORT;/********************************************************************   Function:   Description:   Arguments:   Return:   Others:********************************************************************/void Usage(int argc,char** argv,int nCode){	switch (nCode)	{	case 1:		break;	case 2:		fprintf(stderr,"IP Address Error!\n");		break;	case 3:		fprintf(stderr,"Please input IP Address!\n");		break;	case 4:		fprintf(stderr,"Port  Error!\n");		break;	}	fprintf(stderr,"Usage: %s -s ServerAddress [-d Directory][-p Port]\n",argv[0]);	exit(1);}/********************************************************************   Function:   Description:   Arguments:   Return:   Others:********************************************************************/void parseCmdLine(int argc,char** argv){	int i,nErrCode = 0,on = 0;	if(argc == 1)	{		nErrCode = 1;		Usage(argc,argv,nErrCode);	}	for(i=0; i<argc;i++)	{		if(argv[i][0] == '-')		{			switch (argv[i][1])			{			case 's':				if((argv[i+1] == NULL) || (IsIPAddr(argv[i+1])))				{					nErrCode = 2;					Usage(argc,argv,nErrCode);				}				strcpy(szServerAddr,argv[i+1]);				on = 1;				break;			case 'd':				if(argv[i+1])				{					memset(g_szPath,0,MAX_PATH_LENTH);					strcpy(g_szPath,argv[i+1]);					int nLen = strlen(g_szPath);					if(g_szPath[nLen-1] != '/')						g_szPath[nLen] = '/';				}				break;			case 'p':				if(argv[i+1] == NULL || (IsNumber(argv[i+1])) )				{					nErrCode = 4;					Usage(argc,argv,nErrCode);				}				nPort = atoi(argv[i+1]);				break;			default:				break;				}		}	}	if(!on)	{		nErrCode = 3;		Usage(argc,argv,nErrCode);	}}/********************************************************************   Function:   Description:   Arguments:   Return:   Others:********************************************************************/int initSocket(){	int sockfd;		sockfd = socket(AF_INET,SOCK_DGRAM,0);	if(sockfd < 0)	{		fprintf(stderr,"Socket Error:%s\n",strerror(errno));		exit(1);	}	return sockfd;}/********************************************************************   Function:   Description:   Arguments:   Return:   Others:********************************************************************/void SendClientInfo(int sockfd,struct sockaddr_in* pAddr){	char szBuf[64];	int len,nBufLen;	CLIENT_INFO clientInfo;       /*   從鍵盤讀入,寫到服務端   */ 	memset(&clientInfo,0,sizeof(CLIENT_INFO));	printf("Please Input User Name: ");	memset(szBuf,0,64);	fgets(szBuf,64,stdin);	nBufLen = strlen(szBuf);	szBuf[nBufLen-1] = 0;	strcpy(clientInfo.szClient,szBuf);	printf("Please Input Password: ");	memset(szBuf,0,64);	fgets(szBuf,64,stdin);	nBufLen = strlen(szBuf);	szBuf[nBufLen-1] = 0;	strcpy(clientInfo.szPasswd,szBuf);	printf("Please Input Command: ");	memset(szBuf,0,64);	fgets(szBuf,32,stdin);	nBufLen = strlen(szBuf);	szBuf[nBufLen-1] = 0;	strcpy(clientInfo.szCommand,szBuf);	printf("user:%s passwd:%s Cmd:%s\n",		clientInfo.szClient,		clientInfo.szPasswd,		clientInfo.szCommand);	len = sizeof(struct sockaddr_in);	strcpy(clientInfo.szLogo,"YAAN");	clientInfo.uSequence = 1;        sendto(sockfd,(char*)&clientInfo,sizeof(CLIENT_INFO),0,(struct sockaddr*)pAddr,len); }/********************************************************************   Function:   Description:   Arguments:   Return:   Others:********************************************************************/int saveData(struct ServerData* pSD,int nSize){	FILE* fp;	char szMkdir[MAX_PATH_LENTH],szBuf[MAX_PATH_LENTH];	char* pPos,*pPos1;	mode_t mode = 0644;	static unsigned long int g_uSequence = 0;	//	if(pSD->uSequence < g_uSequence)//	{//		return 1;//	}	g_uSequence = pSD->Header.uSequence;	memset(szMkdir,0,MAX_PATH_LENTH);	strcpy(szMkdir,g_szPath);		pPos = pSD->Header.szFileName;	while((pPos1 = strchr(pPos,'/')) != NULL)	{		memset(szBuf,0,MAX_PATH_LENTH);		strncpy(szBuf,pPos,pPos1-pPos+1);		strcat(szMkdir,szBuf);		pPos = pPos1+1;		mkdir(szMkdir,mode);	}		strcat(szMkdir,pPos);	printf("%ld\tFileCount:%d\t FileName %s FileSize:%d\n",			pSD->Header.uSequence,			pSD->Header.uFileCount,			szMkdir,			pSD->Header.uFileSize);	fp = fopen(szMkdir,"a");	if(fp == NULL)	{		fprintf(stderr,"open %s error:%s\n",pSD->Header.szFileName,strerror(errno));		fclose(fp);		return 1;	}	fwrite(pSD->szData,1,pSD->Header.uFileSize,fp);	fclose(fp);	return 0;}/********************************************************************   Function:   Description:   Arguments:   Return:   Others:********************************************************************/void DownloadData(int sockfd,struct sockaddr_in* pAddr,char* pDir){        struct ServerData sd;	int nSize;		fprintf(stderr,"Download Data to Directory:%s\n",pDir);	SendClientInfo(sockfd,pAddr); 	fprintf(stderr,"Begin to Download Data......\n");         	while(1)	{                /*   從網絡上讀, */		memset(&sd,0,sizeof(struct ServerData));                nSize = recvfrom(sockfd,(char*)&sd,sizeof(struct ServerData),0,NULL,NULL);		saveData(&sd,nSize);                     } }/********************************************************************   Function:   Description:   Arguments:   Return:   Others:********************************************************************/int main(int argc,char**argv){	//	int sockfd;	struct sockaddr_in servAddr;	//init block;	memset(g_szPath,0,MAX_PATH_LENTH);	strcpy(g_szPath,"./");	//parse Command Line;	parseCmdLine(argc,argv);	//main block;	sockfd = initSocket();	bzero(&servAddr,sizeof(servAddr));	servAddr.sin_family = AF_INET;	servAddr.sin_port   = htons(nPort);	inet_aton(szServerAddr,&servAddr.sin_addr);		DownloadData(sockfd,&servAddr,g_szPath);	close(sockfd);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频小说图片| 国产精品色眯眯| 欧美日韩专区在线| 色综合天天在线| 色婷婷精品久久二区二区蜜臂av| www.日本不卡| 91在线视频免费观看| 一本久久a久久精品亚洲| 97久久精品人人做人人爽50路| 波多野结衣中文字幕一区| 99国产一区二区三精品乱码| 97国产精品videossex| 欧美性生活久久| 日韩一区二区三区在线观看| 久久久蜜桃精品| 日韩一区欧美一区| 亚洲成av人影院| 国产呦萝稀缺另类资源| 成人综合婷婷国产精品久久蜜臀| 91视频观看视频| 91精品麻豆日日躁夜夜躁| 精品国产免费人成电影在线观看四季 | 亚洲va在线va天堂| 乱中年女人伦av一区二区| 国产精品一区二区在线观看网站 | 亚洲午夜久久久| 老鸭窝一区二区久久精品| 成人午夜电影小说| 欧美日韩色综合| 精品久久国产字幕高潮| 亚洲区小说区图片区qvod| 免费在线观看精品| 91在线视频播放地址| 日韩欧美国产wwwww| 亚洲三级视频在线观看| 久久黄色级2电影| 色久综合一二码| 久久综合九色综合欧美98| 亚洲影院理伦片| 成人免费视频一区二区| 日韩一级完整毛片| 日韩美女视频一区二区| 国产在线精品国自产拍免费| 欧美性大战久久久久久久蜜臀| 久久久久久免费网| 亚洲电影第三页| 91在线观看一区二区| 久久免费美女视频| 日韩精品免费视频人成| 91小视频免费观看| 国产欧美一区二区精品婷婷| 全部av―极品视觉盛宴亚洲| 在线观看成人小视频| 亚洲国产精品成人综合色在线婷婷| 日韩—二三区免费观看av| 色av成人天堂桃色av| 中文字幕亚洲成人| 国产69精品一区二区亚洲孕妇| 日韩欧美123| 日本午夜精品一区二区三区电影 | 99国产精品视频免费观看| 精品日韩欧美在线| 男女男精品视频| 7878成人国产在线观看| 亚洲电影中文字幕在线观看| 91国产免费观看| 亚洲精品国产一区二区精华液| 成人激情av网| 中文字幕日韩一区二区| 成人激情免费视频| 国产精品人人做人人爽人人添| 国产在线精品国自产拍免费| 欧美精品一区男女天堂| 国产揄拍国内精品对白| 久久综合狠狠综合久久综合88 | 香蕉成人伊视频在线观看| 色哟哟一区二区| 亚洲一区在线观看免费观看电影高清| 一本大道久久精品懂色aⅴ| 亚洲精品中文在线观看| 欧美中文字幕一二三区视频| 亚洲成人激情av| 69av一区二区三区| 美女一区二区在线观看| 国产偷国产偷精品高清尤物| 成人污视频在线观看| 亚洲视频一二三区| 欧美三区在线视频| 蜜桃久久久久久| 国产日韩成人精品| 91色|porny| 日韩av一区二区三区四区| 欧美成人伊人久久综合网| 国产99久久久国产精品免费看| 国产精品青草久久| 欧美丝袜丝交足nylons图片| 老司机一区二区| 国产精品久久久一区麻豆最新章节| 色狠狠av一区二区三区| 日本va欧美va欧美va精品| 久久婷婷成人综合色| 色综合天天做天天爱| 天堂蜜桃91精品| 国产精品欧美一级免费| 欧美日韩亚州综合| 国产又黄又大久久| 亚洲一区电影777| 国产亚洲成aⅴ人片在线观看| 色婷婷一区二区三区四区| 另类小说视频一区二区| 综合久久一区二区三区| 日韩欧美一二区| 99re热这里只有精品免费视频| 琪琪一区二区三区| 亚洲免费伊人电影| 精品国产一区二区亚洲人成毛片| 91小视频在线观看| 国产一区二区久久| 午夜视频一区二区| 1区2区3区欧美| xfplay精品久久| 宅男在线国产精品| 日本福利一区二区| 国产91精品精华液一区二区三区 | 国产人妖乱国产精品人妖| 欧美日韩成人综合在线一区二区| 成人黄页在线观看| 国产一区欧美一区| 精品中文字幕一区二区小辣椒| 一区二区免费看| 亚洲欧洲日产国产综合网| 精品国产乱码久久久久久久久| 欧美精品三级在线观看| 91精品福利在线| av欧美精品.com| 成人av小说网| 成人黄色片在线观看| 国产精品77777竹菊影视小说| 欧美aaaaa成人免费观看视频| 亚洲国产精品精华液网站| 亚洲精品乱码久久久久久日本蜜臀| 国产日韩欧美高清在线| 国产亚洲va综合人人澡精品| 久久久www成人免费无遮挡大片| 日韩午夜中文字幕| 日韩欧美中文一区| 欧美成人精精品一区二区频| 日韩视频在线观看一区二区| 日韩写真欧美这视频| 日韩欧美一区二区在线视频| 91麻豆精品国产无毒不卡在线观看| 欧美性做爰猛烈叫床潮| 欧美日韩国产在线观看| 欧美人动与zoxxxx乱| 91精品啪在线观看国产60岁| 欧美一区二区三区免费视频| 欧美一级久久久久久久大片| 欧美电影精品一区二区| 久久人人97超碰com| 中文字幕第一区二区| 亚洲色图视频免费播放| 亚洲精品欧美在线| 五月激情综合网| 精品在线播放免费| 成人性生交大片免费看视频在线| 9色porny自拍视频一区二区| 色国产精品一区在线观看| 欧美日韩成人综合| 久久午夜电影网| 亚洲精品久久嫩草网站秘色| 天堂久久一区二区三区| 国产麻豆日韩欧美久久| 色综合天天做天天爱| 欧美欧美欧美欧美| 2欧美一区二区三区在线观看视频| 国产清纯白嫩初高生在线观看91 | 欧美电视剧在线观看完整版| 国产免费观看久久| 亚洲成人在线观看视频| 国产美女主播视频一区| 欧美最猛性xxxxx直播| 精品国产一区二区国模嫣然| 日韩毛片视频在线看| 男人的天堂久久精品| 99视频热这里只有精品免费| 欧美日韩成人综合| 国产精品国产三级国产| 日韩国产欧美在线视频| 成人午夜大片免费观看| 8v天堂国产在线一区二区| 国产精品色在线观看| 蜜桃一区二区三区在线| 99re成人精品视频| 欧美精品一区在线观看| 亚洲综合免费观看高清完整版在线 | 精品一二线国产| 91成人在线精品| 久久众筹精品私拍模特| 五月天网站亚洲| 色美美综合视频|