コード例 #1
0
        public static AmsSocket GetOrCreateAmsSocket(string ipTarget, int ipPortTarget)
        {
            AmsSocket amsSocket = SocketList.FirstOrDefault(s => (s.IpTarget == ipTarget) && (s.IpPortTarget == ipPortTarget));

            if (amsSocket == null)
            {
                amsSocket = new AmsSocket(ipTarget, ipPortTarget);
                SocketList.Add(amsSocket);
            }
            amsSocket.Subscribers++;
            return(amsSocket);
        }
コード例 #2
0
        public static void UnsibscribeAmsSocket(string ipTarget)
        {
            AmsSocket amsSocket = SocketList.FirstOrDefault(s => s.IpTarget == ipTarget);

            if (amsSocket != null)
            {
                amsSocket.Subscribers--;
                if (amsSocket.Subscribers <= 0)
                {
                    SocketList.Remove(amsSocket);
                    amsSocket.Dispose();
                }
            }
        }