コード例 #1
0
 private static void Client_ReceivedVersion(object sender, EventArgs e)
 {
     if (ReceivedVersion != null)
     {
         ReceivedVersion.Invoke(sender, e);
     }
 }
コード例 #2
0
        private void ProcessDecryptedServerMessages(AsynchronousSocket socket, byte[] message)
        {
            // Server is going to tell us the size of the update
            if (isRequestingSend)
            {
                isRequestingSend = false;
                string   strMessage = SRP6.ArrayToString(message, 0, message.Length);
                string[] strTokens  = strMessage.Split(' ');
                try
                {
                    UpdateFileSize = Convert.ToInt32(strTokens[0]);
                }
                catch { }
                try
                {
                    encryptedFileSize = Convert.ToInt32(strTokens[1]);
                }
                catch { }

                if ((UpdateFileSize > 0) && (encryptedFileSize >= UpdateFileSize))
                {
                    isReceivingUpdate = true;
                    srpClient.EncryptAndSend(socket, "CONTINUE");
                }
                else
                {
                    OnDebug("Bad transfer information sent from the server");
                }
                return;
            }

            {
                string strMessage = SRP6.ArrayToString(message, 0, message.Length);
                OnDebug("Server Message \"" + strMessage + "\"");

                if (strMessage.Equals("PROCEED")) // CrashException != null
                {
                    // Send the CrashException to the server (serialized)
                    OnDebug("Sending crash report to server");
                    srpClient.EncryptAndSend(socket, CrashException.SerializeObject());
                }
            }
            if (isCheckingVersion)
            {
                isCheckingVersion = false;
                string text = SRP6.ArrayToString(message, 0, message.Length);
                OnDebug("Server reports that version is \"" + text + "\"");
                Srp6ClientSocket.NewestUpdateVersion = text;
                if (ReceivedVersion != null)
                {
                    ReceivedVersion.Invoke(this, new EventArgs());
                }
                if (checkVersionOnly)
                {
                    isCheckingVersion = false;
                    socket.Disconnect();
                }
                else
                {
                    isRequestingSend = true;
                    srpClient.EncryptAndSend(socket, "SEND");
                }
            }
        }