示例#1
0
        private void ServerStatus(object o)
        {
            PlexClientInfo client = o as PlexClientInfo;

            if (PlexServer.IsLoggedIn)
            {
                serverStatus.Stop();
                serverStatus.Dispose();

                isAlive = true;

                this.adr  = client.IpAddress;
                this.p    = client.PlayerPort;
                this.lP   = client.ListenPort;
                this.Name = client.Name;

                identifier = PlexServer.GetClientIdentifier(adr);

                if (PlexServer.RegisterClient(Name))
                {
                    PlexServer.Clients[Name].OnLibraryChange += new EventHandler <LibraryChangeEventArgs>(PlexClient_OnLibraryChange);
                }

                server = new HttpServer();
                server.OnHttpRequest          += new OnHttpRequestHandler(server_OnHttpRequest);
                server.Port                    = client.ListenPort;
                server.EthernetAdapterToBindTo = EthernetAdapterType.EthernetLANAdapter;
                server.Active                  = true;

                pollTimer = new CTimer(PollTimer, this, 0, 30000);
            }
        }
示例#2
0
        public PlexClient(string ipAddress, int playerPort, int listenPort, string name)
        {
            PlexClientInfo info = new PlexClientInfo(ipAddress, playerPort, listenPort, name);

            serverStatus = new CTimer(ServerStatus, info, 0, 10000);
        }