don't start listener again if a thread is already running, and fixed a
possible infinite loop / packet spam in the broadcaster thread