コード例 #1
0
ファイル: MessageHandler.cs プロジェクト: mrbubble62/WsLogger
        private void HandleMessage(NavicoJson.DList dl)
        {
            int groupId = Convert.ToInt32(dl.DataList.groupId);

            if (m_DataGroups.ContainsKey(groupId))
            {
                foreach (int i in dl.DataList.list)
                {
                    m_DataGroups [groupId].Add(i);
                }
            }
            m_DataGroupWaitingList.Remove(groupId);
            if (m_DataGroupWaitingList.Count == 0)
            {
                bool containsData = false;
                foreach (List <int> list in m_DataGroups.Values)
                {
                    if (list.Count > 0)
                    {
                        containsData = true;
                        break;
                    }
                }
                if (containsData == false && m_DataGroups.ContainsKey(40) == false)
                {
                    m_DataGroups.Add(40, new List <int> ());
                    m_DataGroupWaitingList.Add(40);
                    m_WsClient.Send("{\"DataListReq\":{\"groupId\":40}}");
                }
                else
                {
                    StartNextTransaction();
                }
            }
        }
コード例 #2
0
ファイル: MessageHandler.cs プロジェクト: mrbubble62/WsLogger
 private void OnSocketMessage(object sender, MessageEventArgs e)
 {
     lock (this)
     {
         JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
         if (e.Type == Opcode.Text)
         {
             String json = e.Data.ToString();
             if (json.StartsWith("{\"DataInfo\":"))
             {
                 NavicoJson.IncomingDataInfo info = javaScriptSerializer.Deserialize <NavicoJson.IncomingDataInfo>(json);
                 if (info.IsValid())
                 {
                     HandleMessage(info);
                 }
             }
             else if (json.StartsWith("{\"DeviceList\":"))
             {
                 NavicoJson.IncomingDeviceList deviceList = javaScriptSerializer.Deserialize <NavicoJson.IncomingDeviceList> (json);
                 if (deviceList.IsValid())
                 {
                     HandleMessage(deviceList);
                 }
             }
             else
             {
                 NavicoJson.IncomingData data = javaScriptSerializer.Deserialize <NavicoJson.IncomingData> (json);
                 if (data.IsValid())
                 {
                     HandleMessage(data);
                 }
                 else
                 {
                     NavicoJson.DList dl = javaScriptSerializer.Deserialize <NavicoJson.DList> (json);
                     if (dl.IsValid())
                     {
                         HandleMessage(dl);
                     }
                 }
             }
         }
     }
 }