X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=blobdiff_plain;f=sendfile%2Fserver%2Fserver.c;fp=sendfile%2Fserver%2Fserver.c;h=603a1c0e5200c916d011ecbf63d2b580e9e86c82;hb=ffc95a7b6a0262d74247e8fac336896c7529fd63;hp=8bc0ff0b321845bcfd859a075f501dd09cf59dbf;hpb=03eb49a78a2b1edcea84fe7f3f21ceab50ee8b37;p=p2p-kernel-protocol.git diff --git a/sendfile/server/server.c b/sendfile/server/server.c index 8bc0ff0..603a1c0 100644 --- a/sendfile/server/server.c +++ b/sendfile/server/server.c @@ -2,21 +2,22 @@ #include #include #include +#include #include #include #include #include #include -#define BUFFER_SIZE 256 +#include "../utils/utils.h" int main(int argc, char **argv) { - int sock, err, file_fd; + int sock, file_fd; ssize_t ret, len, offset, bytes_to_write; struct sockaddr_in psin; struct hostent *host; - char buffer[BUFFER_SIZE]; + char buffer[CHUNK_SIZE]; if (argc != 4) { fprintf(stderr, "Usage: %s \n", argv[0]); @@ -57,11 +58,11 @@ int main(int argc, char **argv) printf("Bound to: %s:%s\n", argv[1], argv[2]); for (;;) { - ret = read(sock, buffer, BUFFER_SIZE); + ret = read(sock, buffer, CHUNK_SIZE); if (ret < 0) { printf("Error while receiving file %s: %s(%d)\n", argv[0], strerror(errno), errno); - return err; + return ret; } else if (ret == 0) { break; } @@ -76,12 +77,10 @@ int main(int argc, char **argv) } bytes_to_write -= len; offset += len; - } while (bytes_to_write > 0); - if (ret < BUFFER_SIZE) - break; + } while (bytes_to_write); } - printf("Successfully read file %s\n", argv[0]); + printf("Successfully read file %s\n", argv[3]); return 0; }