예제 #1
0
 private static bool DealReceivedMessage(string msg)
 {
     if (msg.Contains("Start Sending Message"))
     {
         InnerPackageS.screenCnt = 0;
         InnerPackageS.memoryCnt = 0;
         sendDeviceInfo          = false;
         isConnected             = true;
     }
     else if (msg.Contains("Stop Sending Message") && isConnected)
     {
         isConnected = false;
         Close();
         return(false);
     }
     else if (msg.Contains("Screen"))
     {
         string[] sess = msg.Split(':');
         if (sess.Length == 3)
         {
             enableScreenShot             = Convert.ToBoolean(sess[1]);
             screenShotFrequency          = Convert.ToInt32(sess[2]) > 3? Convert.ToInt32(sess[2]) : 3;
             InnerPackageS.waitOneSeconds = new WaitForSeconds(screenShotFrequency);
             jpegEncoder = new JPGEncoder(20);
         }
     }
     return(true);
 }
        private static void DoReceiveMessage()
        {
            string resultMess;

            while (true)
            {
                try
                {
                    if (m_receiveThread == null)
                    {
                        Debug.Log("<color=#ff0000>Package m_receiveThread null</color>");
                        return;
                    }
                    if (ns.CanRead && ns.DataAvailable)
                    {
                        resultMess = ParseMessage(br);
                        if (resultMess.Contains("Start Sending Message"))
                        {
                            InnerPackageS.screenCnt = 0;
                            InnerPackageS.memoryCnt = 0;
                            sendDeviceInfo          = false;
                            isConnected             = true;
                        }
                        else if (resultMess.Contains("Stop Sending Message") && isConnected)
                        {
                            isConnected = false;
                            Close();
                            break;
                        }
                        else if (resultMess.Contains("Screen"))
                        {
                            string[] sess = resultMess.Split(':');
                            if (sess.Length == 3)
                            {
                                enableScreenShot             = Convert.ToBoolean(sess[1]);
                                screenShotFrequency          = Convert.ToInt32(sess[2]) > 3? Convert.ToInt32(sess[2]) : 3;
                                InnerPackageS.waitOneSeconds = new WaitForSeconds(screenShotFrequency);
                                jpegEncoder = new JPGEncoder(20);
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    Debug.Log(e);
                }
                Thread.Sleep(1000);
            }
        }