发送方
int wlen = 0; // buf 里面存放的是文件的内容 // size 存放文件大小的int型 // 先发送文件大小 ret = write(connfd, &size, 4); // 在发送文件具体内容 while(1) { ret = write(connfd, buf+wlen, size-wlen); if (ret == 0) {break;} // printf("ret=%d\n", ret); wlen += ret; }
接收方
int rlen = 0; char buf[1024*1024]; int size = 0; // buf 用户存放的接受到的文件内容 // size 存放文件大小的int型 // 先接收文件大小 ret = read(connfd, &size, 4); // 在接收文件具体内容 while(1) { ret = read(connfd, buf+rlen, size-rlen); if (ret == 0) {break;} // printf("ret=%d\n", ret); rlen += ret; }