fix ugly recv bug