internal void Connect(string appId) { m_isInitiator = true; m_futureClose = double.MaxValue; m_futureDisconnectReason = null; m_applicationIdentifier = appId; //Store appId. It will be used in reconnect attempts. m_owner.LogVerbose("Sending Connect request to " + m_remoteEndPoint, this); var msgBuffer = m_owner.GetTempBuffer(); msgBuffer.Write(appId); msgBuffer.Write(m_owner.m_localRndSignature); msgBuffer.Write(m_localRndSeqNr); double localTimeSent = NetTime.Now + m_owner.m_localTimeOffset; msgBuffer.Write(localTimeSent); if (m_localHailData != null && m_localHailData.Length > 0) { msgBuffer.Write(m_localHailData); } m_handshakeInitiated = localTimeSent; SendSingleUnreliableSystemMessage(NetSystemType.Connect, msgBuffer); SetStatus(NetConnectionStatus.Connecting, "Connecting"); }
internal void Heartbeat(double now) { if (m_requests == null) { return; } foreach (NetDiscoveryRequest request in m_requests) { request.Heartbeat(this, now); if (now > request.TimeOut) { m_netBase.LogVerbose("Removing discovery request " + request.Number); m_requests.Remove(request); if (m_requests.Count < 1) { m_requests = null; } break; } } }
internal void Connect() { m_isInitiator = true; m_handshakeInitiated = NetTime.Now; m_futureClose = double.MaxValue; m_futureDisconnectReason = null; m_owner.LogVerbose("Sending Connect request to " + m_remoteEndPoint, this); OutgoingNetMessage msg = m_owner.CreateSystemMessage(NetSystemType.Connect); msg.m_data.Write(m_owner.Configuration.ApplicationIdentifier); msg.m_data.Write(m_owner.m_randomIdentifier); if (m_localHailData != null && m_localHailData.Length > 0) { msg.m_data.Write(m_localHailData); } m_unsentMessages.Enqueue(msg); SetStatus(NetConnectionStatus.Connecting, "Connecting"); }