Пример #1
0
        public override AClient GetClient(long id)
        {
            AClient client = null;

            this.idClients.TryGetValue(id, out client);
            return(client);
        }
Пример #2
0
 public void Awake(AClient client)
 {
     this.client = client;
     this.requestCallback.Clear();
     this.client.ErrorCallback += (c, e) =>
     {
         this.error = e;
         this.Network.Remove(id);
     };
     this.client.ReadCallback += this.OnRead;
     this.client.Start();
 }
Пример #3
0
 public virtual Session Create(IPEndPoint ipEndPoint)
 {
     try
     {
         AClient client  = this.Server.ConnectClient(ipEndPoint);
         Session session = ObjectFactory.CreateWithParent <Session, AClient>(this, client);
         client.ErrorCallback += (c, e) => { this.Remove(session.id); };
         this.sessions.Add(session.id, session);
         return(session);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Пример #4
0
        public override void Dispose()
        {
            if (this.listener == null)
            {
                return;
            }

            base.Dispose();

            foreach (long id in this.idClients.Keys.ToArray())
            {
                AClient client = this.idClients[id];
                client.Dispose();
            }
            this.listener?.Close();
            this.innArgs.Dispose();
            this.listener = null;
        }
Пример #5
0
 protected void OnAccept(AClient client)
 {
     this.acceptCallback.Invoke(client);
 }
Пример #6
0
        public void OnAccept(AClient client)
        {
            Session session = ObjectFactory.CreateWithParent <Session, AClient>(this, client);

            this.sessions.Add(session.id, session);
        }