confusing socketio