Пример #1
0
 protected internal void execute(Client Client, byte[] buffer)
 {
     _Client = Client;
     _buffer = buffer;
     _offset = 8;
     Read();
     Run();
 }
Пример #2
0
        public void RemoveClient(Client loginClient)
        {
            int local_port = Convert.ToInt32(loginClient._client.Client.LocalEndPoint.ToString().Split(':')[1]);
            int chnId = Configuration.GetInstance().Channels
                .Where(c => c.Port == local_port)
                .Select(v => v.Id).FirstOrDefault();

            if (!_Clients[chnId].Contains(loginClient))
                return;

            _Clients[chnId].Remove(loginClient);
        }
Пример #3
0
        public void AddClient(TcpClient tcp)
        {
            // todo block ip
            string ip = tcp.Client.RemoteEndPoint.ToString().Split(':')[0];
            int local_port = Convert.ToInt32(tcp.Client.LocalEndPoint.ToString().Split(':')[1]);

            int chnId = Configuration.GetInstance().Channels
                .Where(c => c.Port == local_port)
                .Select(v => v.Id).FirstOrDefault();

            Client client = new Client(tcp);
            client.SessID = (short)IDFactory.GetNext();

            if (_Clients[chnId].Contains(client))
                Log.Warn("Client is already exists!");
            else
                _Clients[chnId].Add(client);
        }