internal void PerformConnect() { // ensure we're bound to socket Start(); m_connectRequested = false; if (m_serverConnection != null) { m_serverConnection.Disconnect("New connect", 0, m_serverConnection.Status == NetConnectionStatus.Connected, true); if (m_serverConnection.RemoteEndpoint.Equals(m_connectEndpoint)) { m_serverConnection = new NetConnection(this, m_connectEndpoint, m_localHailData, null, null, 0); } } else { m_serverConnection = new NetConnection(this, m_connectEndpoint, m_localHailData, null, null, 0); } // connect m_serverConnection.Connect(); m_connectEndpoint = NetworkEndPoint.unassigned; m_localHailData = null; }