Esempio n. 1
0
 static void SessionClosed(OpcUserSession session, CloseReason reason)
 {
     lock (sessionRoot)
     {
         if (ouSrv.SessionCollection != null && ouSrv.SessionCollection.Count > 0)
         {
             if (ouSrv.SessionCollection.Keys.Contains(session.Type) && ouSrv.SessionCollection[session.Type].Contains(session))
             {
                 ouSrv.SessionCollection[session.Type].Remove(session);
             }
         }
     }
     session.Logger.Info(reason);
 }
Esempio n. 2
0
 public static void OuSrv_NewMessageReceived(OpcUserSession session, string message)
 {
     try
     {
         string[] type_msg = message.Split(':');
         if (type_msg[0] == "type")
         {
             session.Type = type_msg[1];
         }
         if (!ouSrv.SessionCollection.Keys.Contains(session.Type))
         {
             List<OpcUserSession> sessionList = new List<OpcUserSession>();
             sessionList.Add(session);
             ouSrv.SessionCollection.Add(session.Type, sessionList);
         }
         else
         {
             ouSrv.SessionCollection[session.Type].Add(session);
         }
     }
     catch { }
 }
Esempio n. 3
0
        static void SessionConnected(OpcUserSession session)
        {
            string type = session.Path.Substring(1);
            session.Type = type;

            if (!ouSrv.SessionCollection.Keys.Contains(session.Type))
            {
                List<OpcUserSession> sessionList = new List<OpcUserSession>();
                lock (sessionRoot)
                {
                    sessionList.Add(session);
                    ouSrv.SessionCollection.Add(session.Type, sessionList);
                }
            }
            else
            {
                lock (sessionRoot)
                {
                    ouSrv.SessionCollection[session.Type].Add(session);
                }
            }
        }