transceiverF :: Socket -> F [Char] String receiverF :: Socket -> F a String transmitterF :: Socket -> F [Char] a
transceiverF socket
receiverF reads from a socket,
transmitterF writes to a socket and transceiverF is a
combination of the former two.
The input and output are streams of strings rather than streams of characters
for efficiency reasons. The strings obtained from receiverF are
arbitrary chunks of characters that have no relation to how the characters
were grouped by the sender.
An empty string in the output from receiverF
or transceiverF indicates the end of the stream.
An empty string in the input to transmitterF or transceiverF
causes the socket to be closed.
socket :: Socket
openSocketF "news" 119 transceiverF
Creating sockets: openSocketF, openFileAsSocketF.
Fudgets with asynchronous write: asyncTransceiverF et al.