Moved the reconnectAfter into the connection loop and out of the web socket.  The logic in the web socket could instantly set the wait back to 0 which rendered the 200ms wait time useless if the target server went offline.  The result would be that it'd try to connect hundreds of times per second.

Serialized connection attempts (no longer ends up with extra connections when it reconnects).

Changed the connection retry interval to 500ms since it's a little more forgiving to the server and it's still at an imperceptible level.