Exemple #1
0
        private void ReceiveCallback(IAsyncResult AR)
        {
            try
            {
                int received = clientSocket.EndReceive(AR);
                if (received == 0)
                {
                    return;
                }

                message = Encoding.ASCII.GetString(buffer);

                int index = message.IndexOf("}");
                message = message.Substring(0, index + 1);

                //Check for intial connection reply
                if (message.Contains("server_connection"))
                {
                    //ServerMessages serverMessage = JsonConvert.DeserializeObject<ServerMessages>(message);
                    // Console.WriteLine("Message from the server: " + serverMessage.Message);
                    buffer = new byte[clientSocket.ReceiveBufferSize];
                }
                else if (DeserializeJson(message) != null)
                {
                    //deserialize json string into an object
                    Console.WriteLine(message);
                    equation = DeserializeJson(message);

                    Invoke((Action) delegate
                    {
                        //update the question text box to show the equation
                        textBquestion.Text   = equation.FirstNumber.ToString() + equation.Symbol + equation.SecondNumber.ToString() + "=";
                        SubmitButton.Enabled = true;
                    });
                    buffer = new byte[clientSocket.ReceiveBufferSize];
                }

                // Start receiving data again.
                clientSocket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, ReceiveCallback, null);
            }
            // Avoid catching all exceptions handling in cases like these.
            catch (SocketException ex)
            {
                ShowErrorDialog(ex.Message);
            }
            catch (ObjectDisposedException ex)
            {
                ShowErrorDialog(ex.Message);
            }
        }
Exemple #2
0
 private Equations DeserializeJson(string json)
 {
     //basic function to deserialise a json string
     try
     {
         Equations eq = JsonConvert.DeserializeObject <Equations>(json);
         return(eq);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
         return(null);
     }
 }