Socket: The connection was reset
DNewbie
run3 at myopera.com
Fri Feb 10 10:52:21 PST 2012
nrgyzer,
please check the return value of 'receive'.
http://dlang.org/phobos/std_socket.html#receive
On Fri, Feb 10, 2012, at 02:06 PM, nrgyzer wrote:
> Works perfectly, thanks :)
> But... how can I read the complete HTTP-header? When I try the following:
>
> string header;
> ubyte[1024] buffer;
> while (cs.receive(buffer)) header ~= buffer;
>
> ... it works as long as the header doesn't have a length like 1024, 2048,
> 3072... Otherwise cs.receive() blocks forever and the server doesn't
> respond
> anything. Is there any solution how to prevent/solve this problem?
>
>
> == Auszug aus DNewbie (run3 at myopera.com)'s Artikel
> > Try this
> > while(true) {
> > Socket cs = s.accept();
> > cs.receive(new byte[1024]);
> > cs.sendTo("HTTP/1.1 200 OK\r\nContent-Length: 11\r\n\r\nHello
> World");
> > cs.close();
> > }
> > On Thu, Feb 9, 2012, at 07:31 PM, Nrgyzer wrote:
> > > Hi guys,
> > >
> > > I wrote the following few lines:
> > >
> > > private {
> > >
> > > import std.socket;
> > >
> > > }
> > >
> > > void main() {
> > >
> > > Socket s = new TcpSocket();
> > > s.bind(new InternetAddress(80));
> > > s.listen(0);
> > >
> > > while(true) {
> > >
> > > Socket cs = s.accept();
> > > cs.sendTo("HTTP/1.1 200 OK\r\nContent-Length: 11\r\n\r\nHello
> World");
> > > cs.close();
> > >
> > > }
> > >
> > > s.close();
> > >
> > > }
> > >
> > > The code compiles successfully and I also the server also responses with
> > > "Hello World", but when I reload the page I sometimes get the following
> > > error (Firefox): "The
> > > connection was reset" - I also often get the same error in other
> > > browsers. Is there anything wrong with the code?
> > >
> > > Thanks in advance!
> > >
>
>
--
D
More information about the Digitalmars-d-learn
mailing list