Boost logo

Boost Users :

Subject: Re: [Boost-users] asio ip::tcp::socket::read(), always returns end of file
From: Lloyd (lloydkl.tech_at_[hidden])
Date: 2011-06-06 05:01:17


Thanks Martin. The server sends back the data, I have checked it with
wireshark. I am able to sniff and see the data.

This program is not using any complex protocol, it is simple "tcp"
based text protocol. first of all am not able to read anything from
the server.

One more thing I would like to add is the async_connect() is called
from a thread, the io_service is also inside the thread. there are
multiple treads like this. But I have tried removing the thread, that
too does not mak any difference. I have also tried blocking
connect(),write(), and read(), now also the read fails!

If this post is not clear, I am ready to post my code...

Thanks
  Lloyd

On Mon, Jun 6, 2011 at 2:21 PM, Martin Dyring-Andersen
<mda_at_[hidden]> wrote:
> Hi Lloyd,
>
>> I have an asio::ip::tcp::socket.  Whenever I try to read from it, it
>> throws an exception "end of file". But it is possible to write to the
>> socket at any time! This is a client side application, it connects to
>> the server using asio::async_connect(). The server is sending back the
>> data, I checked it with wireshark. I tried using the both async_read()
>> and read(), in both cases it fails with the same error. But both
>> async_write(), and write() works perfectly. What could be the reason?
>
> You don't provide a lot of information about the protocol, but the behavior you are seeing might be the server shutting down the servers' sending side of the connection, like
>
> sock.shutdown(boost::asio::ip::tcp::socket::shutdown_send, error);
>
> which still will leave the client able to write() data to the socket. The client should be able to read the data sent from the server before the shutdown() though.
>
> Just an idea.
>
> Best regards,
> Martin Dyring-Andersen
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net