add ping support now that reconnect's all tested. the ping handler should make reconnects pretty rare.