//客戶端
#include
#include
#include
#include
#include
#include
//#include
#include
#include
#include
#include
#define port 1234
#define maxdatasize 100
int main(int argc,char *argv)
/*if((he=gethostbyname(argv[1]))==null)
*//*
if(inet_pton(af_inet,argv[1],&server.sin_addr))
*/if((sockfd=socket(af_inet,sock_stream,0))==-1)
bzero(&server,sizeof(server));
server.sin_family=af_inet;
server.sin_port=htons(port);
if(inet_pton(af_inet,argv[1],&server.sin_addr) <=0)
in_addr *)he->h_addr);
if(connect(sockfd,(struct sockaddr *)&server,sizeof(server))==-1)
buf[num]='\0';
printf("server message: %s\n",buf);
//接收檔案內容儲存在buffer中
if((num=recv(sockfd,buffer,maxdatasize,0))==-1)
buffer[num]='\0';
printf("%s\n",buffer);
//建立檔案
input = fopen(buf,"wb");
if(input == null)
int opt=so_reuseaddr;
setsockopt(listenfd,sol_socket,so_reuseaddr,&opt,sizeof(opt));
bzero(&server,sizeof(server));
server.sin_family=af_inet;
server.sin_port=htons(port);
server.sin_addr.s_addr=htonl(inaddr_any);
if(bind(listenfd,(struct sockaddr *)&server,sizeof(server))==-1)
if(listen(listenfd,backlog)==-1)
len=sizeof(client);
if((connectfd=accept(listenfd,(struct sockaddr*)&client,&len))==-1)
//printf("you got a connection from client's ip is %s,port is %d\n",ntohl(client.sin_addr.s_addr),htons(client.sin_port));
//開啟檔案
input = fopen(argv[1],"rb");
if(input == null)
把檔案中的內容讀到buffer中
nn = fread(buffer,1,12,input);
buffer[12]='\0';
printf("%s\n",buffer);
//傳送檔名
send(connectfd,argv[1],strlen(argv[1]),0);
睡眠1秒,使客戶端準備接收資料
sleep(1);
//傳送buffer
mm=send(connectfd,buffer,nn,0);
printf("%d\n",mm);
fclose(input);
close(connectfd);
close(listenfd);
}注意:nn = fread(buffer,1,12,input)返回值nn為12。如果是nn = fread(buffer,3,4,input);則返回值為4.
Linux檔案傳輸
不同系統間的檔案傳輸 tar 打包 tar c 新建打包檔案 tar t 檢視打包的內容,重點在檢視檔名 tar x 解打包,解壓縮 tar j bzip2壓縮解壓縮 tar z gzip壓縮解壓縮 tar v 在壓縮 解壓縮的過程中,將正在處理的檔案名列出來 tar r 新增檔案到包中 tar f...
Linux檔案傳輸
從 遠端 複製到 本地,只要將 從 本地 複製到 遠端 的命令 的 後2個引數 調換順序 即可 例如 scp root www.cumt.edu.cn home root others music home space music 1.scp r www.cumt.edu.cn home root ...
linux 檔案傳輸
tar,cpio 歸檔命令 tar cvf 歸檔.tar file1 file2 tar cvf tar file remove files 壓縮並且刪除原檔案 gzip file 壓縮檔案成file.gz gzip d file.gz 解壓 bzip2 file 用gzip壓縮 bzip2 d f...