Allowing the client to block on recv is fine if update_rate is small as it will not be waiting long for a packet. If the update_rate is increased then the client will block on recv for a long time and this will cause VLC to issue a keep alive dialog. This "tick" mechanism ensures the client does not block until it should actually be expecting a packet.