예제 #1
0
        public bool Join(bool state, string name, int Channel)
        {
            lock (syncObj)
            {
                callback = OperationContext.Current.GetCallbackChannel <IAiServiceCallback>();


                if (name.Equals("Ai"))
                {
                    MyAiDel = new AiMsgDel(AiHandlerManager);
                    AiList += MyAiDel;
                    return(true);
                }
                else if (name.Equals("Nothing"))
                {
                    return(false);
                }

                MyDeviceDel = new DeviceData(new DeviceDel(AiHandler), state, name, Channel);
                DeviceList.Add(MyDeviceDel);

                Console.WriteLine("입장" + name);
            }
            return(true);
        }
예제 #2
0
        private void EndAsyncManager(IAsyncResult ar)
        {
            AiMsgDel d = null;

            try
            {
                System.Runtime.Remoting.Messaging.AsyncResult asres = (System.Runtime.Remoting.Messaging.AsyncResult)ar;
                d = ((AiMsgDel)asres.AsyncDelegate);
                d.EndInvoke(ar);
            }
            catch
            {
                DeviceList.Remove(MyDeviceDel);
            }
        }