VR: fix a few errors and rework sendAndRecv