So, once the connection is established, all further messaging flows using step 4 in the diagram
above.
This may lead you to the erroneous belief that message passing over a network is identical
to message passing in the local case.
Unfortunately, this is not true.
Here are the differences:
- longer delays
- ConnectAttach() returns success regardless of whether the node is
alive or not—the real error indication happens on the first message pass
- MsgDeliverEvent() isn't guaranteed reliable
- MsgReply(), MsgRead(), MsgWrite() are now blocking calls,
whereas in the local case they are not
- MsgReceive() might not receive all the data sent by the
client; the server might need to call MsgRead() to get the rest.