⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 khj.c

📁 TCP/IP编程实现远程文件传输
💻 C
字号:
		/*客户机源程序khj.c*/ 
  #include<stdio.h> 
  #include<sys/types.h> 
  #include<sys/fcntl.h> 
  #include<sys/socket.h> 
  #include<sys/netinet/in.h> 
  #include<netdb.h> 
  #include<errno.h> 
  #include <string.h> 
  main() 
  { 
   char buf[1024],file[30]; 
   char *strs=″\n\n\t\t正在接收文件″; 
   int target; 
   register int k,s; 
   struct sockaddr_in sin; 
   struct hostent *hp; 
   system(″clear″); 
   printf(″\n″); 
     
   hp=gethostbyname(″server″); 
   if(hp==NULL){ 
          perror(″返回服务器地址信息错!!!″); 
    exit(1); 
   } 
   s=socket(AF_INET,SOCK_STREAM,0); 
   if(s<0){ 
    perror(″获取SOCKET号失败!!!″); 
    exit(2); 
   } 
   sin.sin_family=AF_INET; 
   sin.sin_port=htons(1500);/*端口号需与服务器程序使用的一致*/ 
   bcopy(hp->h_addr,&sin.sin_addr,hp->h_length); 
   printf(″\n\n\t\t正在与服务器连接…″); 
   if(connect(s,&sin,sizeof(sin),0)<0){ 
    perror(″不能与服务器连接!!!″); 
    exit(3); 
   } 
   while((k=read(s,file,sizeof(file)))<=0/*接收文件名*/ 
   if((target=open(file,o_WRONLY|O_CREAT|O_TRUNC,0644))<0){ 
    perror(″不能打开目标文件!!″); 
    exit(4); 
  } 
  strcat(strs,file); 
  strcat(strs,″,稍候…″); 
  write(1,strs,strlen(strs)); 
  while((k=read(s,buf,sizeof(buf)))>0) 
   write(tatget,buf,k); 
  printf(″\n\n\t\t接收文件成功!!!\n″); 
  close(s); 
  close(target); 
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -