Hello XeoN-Kc, thanks for reply. However my problem is not about receiving sent data. And the server application even configured to not receive anything. (on purpose, and its Receive buffer set to 0 ). The point is that independently from how server is functioning, after successful Connect, client's first Socket.Send can "send" data array of any size and return immediately. And second problem is that Socket.Close(n), never waits n seconds, even if there is a lot of data still to be send.