亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产一区二区三区在线观看免费视频 | 中文字幕一区在线| 精品在线免费观看| 欧美激情在线观看视频免费| 国产精品1区2区3区在线观看| 综合久久国产九一剧情麻豆| 欧美丰满一区二区免费视频 | 欧美成人乱码一区二区三区| 国产精品一二一区| 黄页网站大全一区二区| 亚洲精品日日夜夜| 在线不卡欧美精品一区二区三区| 欧美色欧美亚洲另类二区| 免费在线看成人av| 国产精品久久久久久久久搜平片| 欧美精品色一区二区三区| 欧美精品三级日韩久久| 欧美电影免费观看高清完整版在线| 国产不卡在线播放| 日日夜夜免费精品| 中文字幕亚洲一区二区va在线| 国产精品欧美一级免费| 欧美一区二区久久| 欧美午夜不卡视频| 91免费版pro下载短视频| 老色鬼精品视频在线观看播放| 亚洲主播在线观看| 国产精品久久夜| 亚洲一区欧美一区| 捆绑调教一区二区三区| 成人av在线一区二区| 久久91精品国产91久久小草| 国产成人在线网站| 国产在线播放一区| 色偷偷88欧美精品久久久| 国产精品一二三| 在线视频欧美区| 在线观看91视频| 2014亚洲片线观看视频免费| 欧美一区二区视频在线观看2022| 国产偷国产偷精品高清尤物| 久久久久亚洲综合| 久久免费精品国产久精品久久久久| 国产精品女同一区二区三区| 日韩电影一区二区三区四区| 秋霞av亚洲一区二区三| 成人性生交大片免费看在线播放| 成人在线视频首页| 欧美一级淫片007| 亚洲综合色区另类av| 国产盗摄视频一区二区三区| 91麻豆精品国产91久久久久久久久| 91精品国产黑色紧身裤美女| 亚洲欧洲综合另类| 亚洲综合图片区| 成a人片国产精品| 精品国产乱码久久久久久闺蜜| 日韩精品中午字幕| 婷婷开心激情综合| 久草中文综合在线| 欧美日韩一二三| 亚洲激情在线播放| 99精品一区二区三区| 欧美在线播放高清精品| 国产精品欧美一区二区三区| 国产一区二区伦理片| 欧美精品一区男女天堂| 美女国产一区二区| 99精品久久99久久久久| 国产成人99久久亚洲综合精品| 国产欧美日韩另类一区| 欧美一级欧美三级在线观看| 亚洲免费高清视频在线| 成人手机电影网| 欧美高清一级片在线观看| 国产九色sp调教91| 亚洲精品在线免费观看视频| 美腿丝袜亚洲综合| 91麻豆精品国产自产在线 | 国产成人免费网站| 亚洲精品一区二区精华| 久99久精品视频免费观看| 日韩欧美一区二区久久婷婷| 伦理电影国产精品| 欧美xxx久久| 国产精品一二三四区| 日本一区二区成人| av亚洲精华国产精华| 91精品国产入口| 久久机这里只有精品| 久久久久久久久久久久久女国产乱| 久久国产精品99精品国产| 日韩欧美亚洲国产另类| 久久99日本精品| 欧美成人艳星乳罩| 国产麻豆一精品一av一免费 | 综合久久久久综合| 欧美丝袜丝交足nylons图片| 偷窥少妇高潮呻吟av久久免费| 日韩免费高清视频| 成人午夜免费视频| 亚洲第一搞黄网站| 丰满亚洲少妇av| 一区二区三区四区在线免费观看| 国产成人午夜99999| 专区另类欧美日韩| 欧美狂野另类xxxxoooo| 国产真实乱子伦精品视频| 国产欧美日韩中文久久| 在线观看免费成人| 久久精品国产亚洲aⅴ| 亚洲欧美影音先锋| 欧美一级理论片| 日韩精品一二区| 国产精品伦一区| 91精品在线麻豆| 99久久久精品| 激情综合网最新| 亚洲午夜免费福利视频| 色先锋资源久久综合| 日本 国产 欧美色综合| 中文字幕亚洲一区二区av在线| 91精品麻豆日日躁夜夜躁| 不卡影院免费观看| 毛片av一区二区| 一区二区高清在线| 欧美高清在线一区| 日韩一卡二卡三卡| 在线观看不卡一区| 成人av午夜电影| 国产中文字幕精品| 日本欧美一区二区三区| 亚洲精品国产一区二区三区四区在线| 337p日本欧洲亚洲大胆精品| 欧美日韩一区二区电影| 99精品欧美一区二区三区综合在线| 精品在线观看免费| 日本网站在线观看一区二区三区| 亚洲欧美综合另类在线卡通| 国产欧美日本一区二区三区| 欧美xxxxxxxxx| 日韩美女视频一区二区在线观看| 欧美福利视频导航| 欧美另类高清zo欧美| 欧美色涩在线第一页| 91成人免费电影| 久久99久久精品欧美| 日韩成人一级片| 日韩精品一二三四| 日韩成人午夜精品| 日本视频中文字幕一区二区三区| 亚洲18色成人| 婷婷丁香激情综合| 天堂久久久久va久久久久| 婷婷久久综合九色综合绿巨人| 亚洲尤物在线视频观看| 亚洲欧美一区二区三区孕妇| 中文字幕一区二区在线播放| 亚洲日本一区二区| 亚洲欧美激情一区二区| 一区二区成人在线观看| 亚洲一区二区在线视频| 天天色综合成人网| 蜜桃视频一区二区三区| 欧美亚洲日本国产| 欧美精品日日鲁夜夜添| 欧美一区二区三区日韩| 欧美成人猛片aaaaaaa| 久久综合久久综合亚洲| 国产精品私人自拍| 亚洲视频一二三区| 亚洲一区二区欧美日韩| 日韩极品在线观看| 韩国av一区二区三区四区| 国产69精品久久99不卡| 日本高清不卡在线观看| 欧美一区二区三区四区五区| 久久久久久麻豆| 亚洲人成7777| 蜜臀av性久久久久蜜臀aⅴ流畅| 激情综合亚洲精品| 色综合久久综合网欧美综合网 | 午夜精品久久久久久久99樱桃| 日韩成人精品在线观看| 国产成人精品亚洲日本在线桃色| 91小视频免费观看| 欧美白人最猛性xxxxx69交| 国产精品伦一区| 日本vs亚洲vs韩国一区三区二区| 国产成人福利片| 在线成人小视频| 亚洲国产岛国毛片在线| 亚洲国产精品久久久久秋霞影院 | 国产91丝袜在线观看| 欧美在线观看视频一区二区| 久久日一线二线三线suv| 一区二区三区免费在线观看| 精品夜夜嗨av一区二区三区| 欧洲国产伦久久久久久久| 久久久久久久久99精品|