91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

代碼為openwrt 路由器文件的傳輸。Linux C socekt文件傳輸 客戶端和服務(wù)端代碼

資源截圖

代碼片段和文件信息

?
/*******?客戶端程序??client.c????????************/??
//?????client????
// ???client?192.168.1.1?1234?/root/filename
/************************************************/?
#include???
#include???
#include???
#include???
#include???
#include???
#include???
#include???
#include???
#include???
#include???
#include?????//?文件讀寫
//#include????//目錄讀取?

//?linux?下讀取大于2GB文件時(shí),需指定??
#define?_FILE_OFFSET_BITS?64????
//?定義包的大小為512KB??
#define?PACK_SIZE?1024*512??
??????
char*?get_file_name(char*?fn);??
unsigned?long?get_file_size(const?char?*path);??
??????
int?main(int?argc?char?*argv[])??
{??
if(argc? printf(“please?input:??.\n“);??
return?0;??
????}??
??????
//?設(shè)置輸出緩沖??
setvbuf(stdout?NULL?_IONBF?0);??
fflush(stdout);??
??????
char*?filePath?=?argv[3];
/*******************************************************************/
struct?stat?info;
stat(filePath&info);
if(S_ISDIR(info.st_mode)){???????//判斷是否為一個(gè)目錄
printf(“This?is?a?directory\n“);
return?0;?
}
if(access(filePath?F_OK)?!=?0){?//F_OK則是用來判斷該文件是否存在
printf(“file?not?existed!\n“);??
return?0;??
}?

/*******************************************************************/
int?sockfd;??
char?buff[1024]?=?{‘\0‘};??
struct?sockaddr_in?server_addr;??
struct?hostent?*host;??
int?portnumbernbyteswbyte;??
????const?char*?ip?=?argv[1];??
if((host=gethostbyname(ip))==NULL)??{??
fprintf(stderr“Gethostname?error\n“);??
exit(1);??
????}??
const?char*?port?=?argv[2];??
if((portnumber=atoi(port))<0)??{??
fprintf(stderr“Usage:%s?hostname?portnumber\a\n“argv[0]);??
exit(1);??
}??
??????
/*?客戶程序開始建立?sockfd描述符??*/??
if((sockfd=socket(AF_INETSOCK_STREAM0))==-1)??{??
fprintf(stderr“Socket?Error:%s\a\n“strerror(errno));??
exit(1);??
}??
??????
/*?客戶程序填充服務(wù)端的資料???????*/??
bzero(&server_addrsizeof(server_addr));??
server_addr.sin_family=AF_INET;??
server_addr.sin_port=htons(portnumber);??
server_addr.sin_addr=*((struct?in_addr?*)host->h_addr);??
??????
/*?客戶程序發(fā)起連接請(qǐng)求?????????*/??
if(connect(sockfd(struct?sockaddr?*)(&server_addr)sizeof(struct?sockaddr))==-1)??{??
fprintf(stderr“Connect?Error:%s\a\n“strerror(errno));??
exit(1);??
}???
/*?連接成功了&讀取指令???????????*/?

if((nbytes=read(sockfdbuff1024))==-1)??{??
fprintf(stderr“Read?Error:%s\n“strerror(errno));??
exit(1);??
}??
buff[nbytes]=‘\0‘;??
printf(“I?have?received:%s\n“buff);//輸出從服務(wù)端發(fā)來的信息??
??????
/*******?發(fā)送指令?********/??
bzero(buff1024);??
//?指令I(lǐng)D??
int?order?=?0x0010;??
int?order_h?=?order?>>?8;??
buff[0]?=?(char)order_h;??
buff[1]?=?(char)order;??
????//?文件長度??
unsigned?long?len?=?get_file_size(filePath);??
printf(“file?size?=?%lu\n“?len);??
??????
//?高16位??
int?len_h?=?len?>>?16;??
int?len_h_1?=?len_h?>>?8;??
buff[2]?=?(char)len_h_1;??
buff[3]?=?(char)len_h;??
//?低16位??
int?len_l?=?len;??
int

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????5216??2016-08-19?12:33??tfclient.c

?????文件???????8226??2016-08-25?12:23??tfservers.c

-----------?---------??----------?-----??----

????????????????13442????????????????????2


評(píng)論

共有 條評(píng)論