Exemplo n.º 1
0
 private void OnUnSubscribeDataDone(object sender, MultipleResultEventArgs e)
 {
     foreach (JObject ele in e.SuccessList)
     {
         lock (_locker)
         {
             string        streamName = (string)ele["streamName"];
             List <string> unSubList  = new List <string>();
             if (_streams.Contains(streamName))
             {
                 _streams.Remove(streamName);
                 unSubList.Add(streamName);
             }
             if (unSubList.Count > 0)
             {
                 StreamStopNotify(this, unSubList);
             }
         }
     }
     foreach (JObject ele in e.FailList)
     {
         string streamName   = (string)ele["streamName"];
         int    code         = (int)ele["code"];
         string errorMessage = (string)ele["message"];
         UnityEngine.Debug.Log("UnSubscribe stream " + streamName + " unsuccessfully." + " code: " + code + " message: " + errorMessage);
     }
 }
Exemplo n.º 2
0
        private void OnSubscribeDataDone(object sender, MultipleResultEventArgs e)
        {
            UnityEngine.Debug.Log("DataStreamProcess: SubscribeDataOK ");
            List <string> failStreams = new List <string>();

            foreach (JObject ele in e.FailList)
            {
                lock (_locker)
                {
                    string streamName   = (string)ele["streamName"];
                    int    code         = (int)ele["code"];
                    string errorMessage = (string)ele["message"];
                    UnityEngine.Debug.Log("Subscribe stream " + streamName + " unsuccessfully." + " code: " + code + " message: " + errorMessage);
                    if (_streams.Contains(streamName))
                    {
                        failStreams.Add(streamName);
                        _streams.Remove(streamName);
                    }
                }
            }

            if (failStreams.Count > 0)
            {
                // notify stream stop
                StreamStopNotify(this, failStreams);
            }
            Dictionary <string, JArray> headers = new Dictionary <string, JArray>();

            foreach (JObject ele in e.SuccessList)
            {
                string streamName = (string)ele["streamName"];
                JArray header     = (JArray)ele["cols"];
                // UnityEngine.Debug.Log("SubscribeDataOK header count " + header.Count + " stream name " + streamName);
                if (streamName == DataStreamName.DevInfos)
                {
                    JArray devCols = new JArray();
                    devCols.Add(header[0].ToString());
                    devCols.Add(header[1].ToString());
                    JArray tmp = (JArray)header[2];
                    for (int i = 0; i < tmp.Count; i++)
                    {
                        devCols.Add(tmp[i].ToString());
                    }
                    header.RemoveAll();
                    header = devCols;
                }
                headers.Add(streamName, header);
            }
            if (headers.Count > 0)
            {
                // UnityEngine.Debug.Log("DataStreamProcess: notify SubscribeOK for stream " + headers.Count);
                SubscribedOK(this, headers);
            }
            else
            {
                UnityEngine.Debug.Log("No data streams are subsribed successfully.");
            }
        }