Re(2): bsd sockets & http
Re(2): bsd sockets & http
- Subject: Re(2): bsd sockets & http
- From: Jens Bauer <email@hidden>
- Date: Sat, 20 Jul 2002 02:37:29 +0200
Hi Chaz and Philip,
On Fri, 19 Jul, 2002, Philip D. Wasson <email@hidden> wrote:
>
On Wednesday, July 17, 2002, at 11:54 , Chaz wrote:
>
>
> I'm currently reading up on bsd sockets and I've run into a problem
>
> while trying to make a sample http client. Here's what I've done:
>
>
>
> socket()
>
> bind() // to a random port - i don't think this is necessary for an
>
> http client, but to my knowledge it shouldn't hurt.
>
> connect() // to the http server on port 80
>
> .
>
> .
>
> .
>
> } // Might be a weird way to do this, but it is a sample after all.
>
> The message sent is "GET /" which works in telnet.
>
> read() // similarly to how I sent, making sure all the data has
>
> arrived. But no data ever does arrive.
>
> close()
>
>
I don't know HTTP, so I can't add any detail to Jens Bauer's comment
>
about sending the right HTTP header. Except I wonder if you sent a CR/LF
>
at the end of the request. I'm pretty sure HTTP likes there to be a
>
specific kind of line ending.
You are right about that. Most servers and clients are able to handle
"\n", which can be either CR or LF, however, some clients require
"\12\15" (CR followed by LF).
>
Oh, and you don't need the bind(). Better to skip it and have one less
>
possible error to deal with.
Now, this is the nice thing about going Unix... Try having a look at this
source-code snippet I found on the net:
<
http://hoohoo.ncsa.uiuc.edu/beta-1.6/scripts/src/tmp>
It's for POSTing a request, which means it's not really a GET, as you
want, but you might be able to find out what's causing the trouble by
looking at the snippet.
Love,
Jens
--
Jens Bauer, Faster Software.
-Let's make the World better, shall we ?
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.