On Tue, Sep 3, 2013 at 3:56 PM, Simon Yarde <simonyarde@me.com> wrote:
I'm new to Haskell and have reached an impasse in understanding the behaviour of sockets.
Your question is actually not related to Haskell at all, but is a general "I don't understand socket programming" question. You're being misled by the non-blocking sockets observation - this makes no difference to the behaviour of your program.
I recommend picking up copies of "Unix Network Programming" and "TCP/IP Illustrated", and reading them.