summaryrefslogtreecommitdiffstats
path: root/src/client/client.bak
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/client.bak')
-rw-r--r--src/client/client.bak75
1 files changed, 0 insertions, 75 deletions
diff --git a/src/client/client.bak b/src/client/client.bak
deleted file mode 100644
index bacfa52..0000000
--- a/src/client/client.bak
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-
-#include <math.h>
-
-#include "../include/types.h"
-
-#define FILE_SIZE 721127424
-
-int main(int argc, char *argv[])
-{
- struct sockaddr_in server;
- unsigned long addr;
- int sock;
-
- // Create socket
- sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (sock < 0)
- {
- printf("ERROR: Socket failure\n");
- return EXIT_FAILURE;
- }
-
- addr = inet_addr(HOST);
- memcpy((char *) &server.sin_addr, &addr, sizeof(addr));
- server.sin_family = AF_INET; // IPv4
- server.sin_port = htons(PORT); // set port number
-
- // Connect to server
- if (connect(sock, (struct sockaddr*) &server, sizeof(server)) < 0)
- {
- printf("ERROR: Connect failure\n");
- return EXIT_FAILURE;
- }
-
- // Set data
- struct dnbd3_request request;
- struct dnbd3_reply reply;
- request.num = 0;
-
- // Send to server
- int i;
- off_t blocks = FILE_SIZE / DNBD3_BLOCK_SIZE;
- int e = log(DNBD3_BLOCK_SIZE) / log(2); // logarithmus dualis
-
-
- for (i = 0; i < blocks; i++)
- {
- request.num = i << e; // multiplie by e
- send(sock, (char *) &request, sizeof(request), 0);
- recv(sock, &reply, DNBD3_BLOCK_SIZE, MSG_WAITALL);
- write(STDOUT_FILENO, reply.data, DNBD3_BLOCK_SIZE);
- }
-
- /* Fetch "rest" bytes */
- int rest = FILE_SIZE % DNBD3_BLOCK_SIZE;
- if (rest != 0)
- {
- request.num = i * DNBD3_BLOCK_SIZE;
- send(sock, (char *) &request, sizeof(request), 0);
- recv(sock, &reply, sizeof(struct dnbd3_reply), MSG_WAITALL);
- write(STDOUT_FILENO, reply.data, rest);
- }
-
- close(sock);
- return EXIT_SUCCESS;
-}