Jump to content

implement a forwarding web cache?

- - - - -

  • Please log in to reply
No replies to this topic

#1
van dugall

van dugall

    Newbie

  • Members
  • Pip
  • 2 posts
What can do to make this client file into a Forward Web Cache -- for static contents, usng the if-modified approach for coherence... I'm not that comfortable with C but it is the only language I know how to make a connect between to terminals. I'm using Unix btw.

This is the client file:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

#define SERVER_PORT 5432
#define MAX_LINE 256

int
main(int argc, char * argv[])
{
FILE *fp;
struct hostent * hp;
struct sockaddr_in sin;
char *host;
char buf[MAX_LINE];
int s;
int len;
char message[1024];

if (argc==2) {
host = argv[1];
}

else {
fprintf(stderr, "usage: simplex-talk host\n");
exit(1);
}

hp = gethostbyname(host);
if (!hp) {
fprintf(stderr, "simplex-talk: unknown host: %s\n", host);
exit(1);
}

bzero((char *)&sin, sizeof(sin));
sin.sin_family = AF_INET;
bcopy(hp->h_addr, (char *)&sin.sin_addr, hp->h_length);
sin.sin_port = htons(SERVER_PORT);

if ((s = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
perror("simplex-talk: socket");
exit(1);
}
if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
perror("simplex-talk: connect");
close(s);
exit(1);
}

while (fgets(buf, sizeof(buf), stdin)) {
buf[MAX_LINE-1] = '\0';
len = strlen(buf) + 1;
send(s, buf, len, 0);
}
}

Edited by WingedPanther, 24 May 2009 - 03:49 PM.
add code tags (the # button)





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users