client side socketio