Commit db68af3a authored by Saikumar's avatar Saikumar

Modified respondToClient function

parent a9e2787b
......@@ -17,16 +17,21 @@ void *respondToClient(void *args) {
int clientFd = *((int *)args);
while(1) {
// printf("reading for client %d\n", clientFd);
char buffer[513];
// char buffer[513];
char *buffer = (char *)malloc(513*sizeof(char));
int len = read(clientFd, buffer, 513);
// buffer[len] = '\0';
buffer[len] = '\0';
char key[100], value[100];
memset(key, '\0', 100);
memset(value, '\0', 100);
char todo = buffer[0];
// key: first non-zero till byte 257
int i;
if(todo!='4'){
for(i=1; buffer[i]=='0'; i++);
// printf("I: %d %c\n", i, buffer[i]);
printf("key length: %d\n", 257-i);
memcpy(key, buffer+i, 257-i);
......@@ -34,25 +39,38 @@ void *respondToClient(void *args) {
for(i=257; buffer[i]=='0'; i++);
printf("value length: %d\n", 513-i);
memcpy(value, buffer+i, 513-i);
}
switch(todo) {
case '1':
printf("GET recvd\n");
printf("Key: %s\n", key);
write(clientFd, "Get returns\0", 12);
break;
case '2':
printf("PUT recvd\n");
printf("Key: %s\n", key);
printf("Value: %s\n", value);
write(clientFd, "Put returns\0", 12);
break;
case '3':
printf("DELETE recvd\n");
printf("Key: %s\n", key);
write(clientFd, "Delete returns\0", 15);
break;
case '4':
printf("Connection terminated\n");
write(clientFd, "Connection terminated\0", 22);
return NULL;
// break;
}
// printf("%s\n", buffer);
write(clientFd, "Client response\0", 16);
// write(clientFd, "Client response\0", 16);
// if (todo=='4')
// {
// return NULL;
// }
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment