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

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

?? rw.c

?? 在LINUX下的一個多線程的服務器和客戶端的網絡傳輸程序
?? C
字號:
/* 
 These functions are belonged to a libray which can be used to transfer file
 simplely.
 
 Copyright (C) 1994-1995, Li Suke, School of Software,Peking University
 This  is free software; you can redistribute it and/or
 modify it freely.

 This software  is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
*/

#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include "rw.h"

/***
 *  len: store the total receving data byte number
 *
 */
ssize_t readall(int fd, void* buf,size_t *len){
   size_t nleft;
   ssize_t nread;
   ssize_t total;
   char *ptr;
   ptr = buf;
   nleft = *len;
   total = 0;
   while( nleft > 0){
      if((nread = read(fd,ptr,*len)) == -1){
         perror("readall");
         break;
      }
      if(nread ==0)
         break;
      nleft -= nread;
      ptr += nread;
      total += nread;
      *len = nleft;
   } 
   *len = total;
   return (nread==-1)?-1:0;
}

/***
 *  len: store the total sending data byte number
 *
 */
ssize_t writeall(int fd, void* buf,size_t *len){
   size_t nleft;
   ssize_t nwrite;
   ssize_t total;
   const char *ptr;
   ptr = buf;
   nleft = *len;
   total = 0;
   while( nleft > 0){
      if((nwrite = write(fd,ptr,*len))== -1){
         perror("write all");
         break;
      }
      nleft -= nwrite;
      ptr += nwrite;
      total += nwrite;
      *len = nleft;
   } 
   *len = total;
   return (nwrite==-1)?-1:0;
}

/* read the commond from client, the command format is 
   content+\r\n
   return value:
       0: succesful
       -1: failure
*/   
int read_cmd(int sockfd,char* cmd_buf,int len){
   char line[MAX_LEN];
   int my_len = 0;
   int total_len =0;
   char *ptr;
   int can_read;
   if(len > MAX_LEN)
      len = MAX_LEN;
   can_read = 1;
   strcpy(cmd_buf,"\0");
   while(can_read){
      if((my_len = read(sockfd, line,len))<0 ){
           perror("read");
           return -1;
      }
      total_len = total_len + my_len;
      if(total_len > len){
           printf("Recieve command error!\n");
           return -1;
      }
      if((ptr=strstr(line,"\r\n"))==NULL){
        if(total_len <= len)
           strcat(cmd_buf, line); 
      }else{
        strncat(cmd_buf,line,ptr-line);
        can_read = 0;
      }
      printf("Client requests file: %s\n",cmd_buf);   
   }
   return 0;
}

/* Send a file to client
   return value:
   0: successful
   -1: failure
*/

int send_file(int sockfd,char *file_name)
{
  int file_fd;
  int file_size;
  int read_left;
  int len;
  int error_flag;
  int readlen;
  struct stat file_state;
  char buffer[MAX_LEN];
  int dot_number = 0;
  if((file_fd = open(file_name,O_RDONLY)) == -1){
     perror("open");
     return -1;
  }
  if(fstat(file_fd, &file_state)==-1){
     perror("fstat");
     return -1;
  }
  file_size = file_state.st_size;
  read_left = file_size;
  len = MAX_LEN;
  while(read_left > 0){
     /* now read the file */
     readlen = MAX_LEN;
     error_flag = readall(file_fd,buffer,&readlen);
     if(error_flag<0 ){
        return -1;
     }
     read_left -= readlen;
     len = readlen;
     error_flag = writeall(sockfd,buffer,&len);
     if(error_flag == -1)
         return -1;
     if(readlen ==0 && read_left!=0){
         printf("the file is not read fully!\n");   
         return -1;         
     }
     if(read_left ==0){
         printf("\nServer sent file over!\n");                  
     }
  }    
  close(file_fd);
  return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频免费在线| 日韩视频在线你懂得| 91久久精品国产91性色tv| 欧美精品免费视频| 国产精品天干天干在观线| 午夜精品福利一区二区蜜股av| 国产不卡视频一区| 91精品国产欧美日韩| 亚洲精选视频在线| 成人黄动漫网站免费app| 精品国产乱子伦一区| 亚洲国产视频a| 91免费视频网| 中文字幕第一区二区| 精品一二线国产| 7777精品伊人久久久大香线蕉 | 日韩视频一区在线观看| 蜜桃久久av一区| 欧美日韩中文字幕一区| 婷婷国产v国产偷v亚洲高清| 日韩精品一区二区三区四区视频 | 国产精品1区2区| 日韩三级.com| 粉嫩蜜臀av国产精品网站| 亚洲特级片在线| www.久久久久久久久| 欧美韩国一区二区| 91美女片黄在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产日产欧美一区| 韩日精品视频一区| www国产精品av| 国产精品自拍在线| 亚洲免费伊人电影| 色国产综合视频| 老司机精品视频导航| 91精品国产乱| 成人av电影在线| 男女男精品视频| 欧美成人女星排名| 狠狠色狠狠色综合| 亚洲美女在线国产| 2014亚洲片线观看视频免费| 久久精品视频免费| 国产精品白丝jk黑袜喷水| 一区二区三区在线视频观看 | 日韩片之四级片| 色婷婷综合五月| 日韩av中文字幕一区二区三区| 日韩亚洲欧美一区| 色女孩综合影院| 成人午夜伦理影院| 亚洲精品高清在线| 久久色中文字幕| 91精品福利在线一区二区三区| 97久久超碰精品国产| 性做久久久久久久久| 日韩网站在线看片你懂的| 91国产免费观看| www..com久久爱| 国产精品一区三区| 蜜臀av在线播放一区二区三区| 一区二区三区蜜桃| 国产精品久久久99| 7777精品伊人久久久大香线蕉的| 91亚洲午夜精品久久久久久| 粉嫩aⅴ一区二区三区四区| 另类小说综合欧美亚洲| 偷窥少妇高潮呻吟av久久免费| 激情文学综合丁香| 丝袜诱惑亚洲看片| 国产视频一区不卡| 久久综合九色综合97_久久久| 欧美日韩国产另类一区| 国产一区二区三区在线观看免费 | 日韩在线一区二区| 亚洲亚洲精品在线观看| 亚洲精品美国一| 亚洲另类在线一区| 亚洲欧洲日产国产综合网| 欧美一级艳片视频免费观看| 欧美网站一区二区| 成人黄色国产精品网站大全在线免费观看 | 18欧美乱大交hd1984| 国产精品丝袜久久久久久app| 中文字幕乱码久久午夜不卡| 国产亚洲精品资源在线26u| 久久久久久久久99精品| 欧美性xxxxxxxx| 欧美日韩中文字幕一区| 欧美日韩久久一区| 在线播放欧美女士性生活| 91精品免费在线| 精品播放一区二区| 国产亚洲欧美在线| 国产精品沙发午睡系列990531| 国产精品传媒入口麻豆| 中文字幕一区二区三区色视频| 综合欧美一区二区三区| 亚洲综合激情网| 亚洲少妇屁股交4| 亚洲国产美女搞黄色| 日韩精品乱码av一区二区| 久久国产夜色精品鲁鲁99| 国产一区福利在线| 99麻豆久久久国产精品免费优播| 色偷偷成人一区二区三区91| 精品视频1区2区3区| 日韩一区二区中文字幕| 国产日韩欧美激情| 亚洲自拍偷拍图区| 另类小说视频一区二区| 99热99精品| 欧美绝品在线观看成人午夜影视| 久久先锋资源网| 亚洲女人小视频在线观看| 亚洲va欧美va国产va天堂影院| 精一区二区三区| 91影院在线免费观看| 91精品国产入口| 中文字幕在线观看一区二区| 婷婷开心久久网| 成人97人人超碰人人99| 91.com在线观看| 中文字幕亚洲区| 麻豆精品国产91久久久久久| av一区二区三区在线| 日韩一区二区三区在线| 亚洲美女视频在线观看| 国产又黄又大久久| 欧美日韩一级视频| 欧美激情一区二区三区在线| 日韩高清不卡在线| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美日韩国产免费一区二区| 国产欧美在线观看一区| 天天综合天天做天天综合| 成人av高清在线| 久久嫩草精品久久久精品一| 亚洲国产成人av网| 成人免费高清在线| 欧美成人精品1314www| 一二三区精品福利视频| 大桥未久av一区二区三区中文| 欧美一区二区福利在线| 亚洲欧美日韩中文播放| 国产精品1区二区.| 日韩欧美国产不卡| 三级一区在线视频先锋| 在线观看日韩精品| 欧美肥胖老妇做爰| 亚洲色大成网站www久久九九| 国产盗摄一区二区三区| 日本精品视频一区二区| 亚洲国产成人午夜在线一区| 久色婷婷小香蕉久久| 欧美日韩精品免费观看视频| 一区二区三区资源| 顶级嫩模精品视频在线看| 亚洲精品一区二区三区蜜桃下载 | 日韩福利视频导航| 91福利在线导航| 亚洲丝袜制服诱惑| gogogo免费视频观看亚洲一| 中文字幕av不卡| 成人午夜私人影院| 欧美国产日韩在线观看| 国产在线不卡视频| 久久精品视频网| 成人性生交大片免费看中文| 亚洲国产精品av| 成人激情小说网站| 亚洲欧洲日产国产综合网| 波多野结衣视频一区| 中文字幕一区二| 在线一区二区视频| 亚洲最快最全在线视频| 欧美日韩一区二区三区不卡 | 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 偷拍日韩校园综合在线| 欧美性三三影院| 日韩精品国产欧美| 日韩欧美一级二级三级久久久 | 色综合色狠狠天天综合色| 亚洲欧洲国产专区| 91在线观看地址| 亚洲国产一区视频| 欧美一级日韩免费不卡| 乱中年女人伦av一区二区| 久久久精品tv| av激情综合网| 亚洲成a人在线观看| 日韩午夜av电影| 成人免费va视频| 一区二区三区 在线观看视频| 6080国产精品一区二区| 久久精品国产第一区二区三区| 中文乱码免费一区二区| 91视频免费播放| 久久精品久久久精品美女|