Ok, I thought I had it right but apparently I didn't. I suppose I'm sending the string wrong, could someone give me an example of the string I'm supposed to use when logging in to get my client listed under the stat page? I thought I had it right, but apparently I'm missing something or forgot something. ~Chris
In my client code, I'm using fgets() to read in my console input...but, if I enter more on the stream than fgets() reads in, it gets read into the next stream...which may or may not be bad (in this case it is).
I've tried doing things like using fseek(), but that doesn't work for stdin. I'm tempted to try and slurp away the extra bytes with an extra fgets(), but I'm sure there's a Better Way To Do It (TM).
I'm encountering something rather strange...and I imagine it has to do with the LJ webservers. A while back, in an effort to learn basic network programming (in C), I wrote a little utility that'd get a single webpage and print it to stdout. I tried it on twenty URLs that I go to all the time "http://www.livejournal.com" among them, and it worked like a charm.
I basically do all the stuff to open a socket, then do this:
/* SNIP resolving address and opening a socket to sockfd */ socketf = fdopen(sockfd, "r+"); fprintf(socketf, "GET http://%s/%s\n\n", domain, path); while ( (inChar = fgetc(socketf)) != EOF ) { putchar(inChar); }
Now, when I try and go add the network stuff to my client's code, it acts weird...I figure, "Hey! Let's go use the htmlgetter again, see if it works." It doesn't. It just sits there for about 5 minutes, and then exits quietly. The code is ripe with error checking. It, does, in fact work for all of the non LJ URL's I've tried (a few on my server, google, etc). Any suggestions?