             case .success():
                 me.startAllTimers()
                 me.connectRequests.lastEstablished = me.connectRequests.onGoing
+                me.connectRequests.onGoing = nil
+                me.isConnected = true
                 me.delegate?.nicoUtilityDidConnectToLive(me, roomPosition: RoomPosition.arena, connectContext: connectContext)
             case .failure(_):
                 let reason = "Failed to open message server."

            selector: #selector(NicoUtility.pingPongCheckTimerFired),
            userInfo: nil,
            repeats: true)
        log.debug("Started last-pong check timer.")
    }

    func stopPingPongCheckTimer() {

// MARK: - Private Methods (Last Text Check Timer)
private extension NicoUtility {
    func setTextSocketEventCheckTimer(delay: Int) {
        guard isConnected else { return }
        objc_sync_enter(self)
        defer { objc_sync_exit(self) }
        clearTextSocketEventCheckTimer()
