better
better
socket being blocked and wait for data first