serversocket read() semantics changed
less mechanism added to simulate recv()