recv just hangs
dunno what to do with this, need some code revamp