Exemplo n.º 1
0
        void register(IPEndPoint endpoint, MetaData.Roles role)
        {
            if (role == MetaData.Roles.cache)
            {
                cacheServer = endpoint.Address.ToString();
                //Console.WriteLine("Зарегистрирован кэш-сервер по адресу " + endpoint.Address.ToString());

                servers.ToList().ForEach(x => x.SendCacheIP(cacheServer));
            }
            else
            {
                var rs = new RefServer(endpoint, this);
                servers.Add(rs);
                //Console.WriteLine("Зарегистрирован сервер реферирования по адресу " + endpoint.Address.ToString());
                if (cacheServer != String.Empty)
                {
                    rs.SendCacheIP(cacheServer);
                }
            }
            ShowServers();
            string   priorityString     = priority.ToString();
            MetaData registerResponceMD = new MetaData(MetaData.Roles.dispatcher, MetaData.Actions.register, MetaData.ContentTypes.plainText, priorityString);

            tcpListener.Send(endpoint, priorityString, registerResponceMD);
            priority++; //todo: менять приоритет
        }
Exemplo n.º 2
0
 internal void UpdateServerList(RefServer refServer)
 {
     servers.Remove(refServer);
     ShowServers();
 }