Esempio n. 1
0
        public void ListenForClients()
        {
            try
            {
                m_clients = new List<TcpClient>();
                m_communicationThreads = new List<Thread>();
                cmdMutex = new Mutex();

                while (!stopme)
                {
                    Console.WriteLine("Waiting for clients...");
                    Log.Debug("TVServerKodi: Waiting for clients...");
                    while (!this.tcpListener.Pending())
                    {
                        Thread.Sleep(30);
                    }

                    // blocks until a client has connected to the server
                    TcpClient client = this.tcpListener.AcceptTcpClient();

                    // Multithreaded version:
                    Console.WriteLine("New Connection! Starting handler thread for client." + client.Client.RemoteEndPoint.ToString());
                    Log.Debug("TVServerKodi: New Connection! Starting handler thread for client." + client.Client.RemoteEndPoint.ToString());
                    //___________________________
                    lock (this)
                    {
                        m_clients.Add(client);
                    }

                    ConnectionHandler handler = new ConnectionHandler(client, cmdMutex, m_clients.Count);
                    ThreadStart thdstHandler = new ThreadStart(handler.HandleConnection);
                    Thread communicationThread = new Thread(thdstHandler);
                    lock (this)
                    {
                        m_communicationThreads.Add(communicationThread);
                    }
                    communicationThread.Start();
                }

                tcpListener.Stop();
            }
            catch (System.Threading.ThreadAbortException)
            {
                //Expected on a shutdown of the TVServer
            }
            catch (Exception e)
            {
                Log.Error("TVServerKodi: Unexpected error in ListenForClients(): " + e.ToString());
                Console.WriteLine(e.ToString());
            }
        }
Esempio n. 2
0
 public GetSignalQuality(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 3
0
 public ListRecordedTV(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 4
0
 public UpdateSchedule(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 5
0
 public GetScheduleInfo(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 6
0
 public IsRecording(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 7
0
 public GetChannelThumb(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 8
0
 public GetCardSettings(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 9
0
 public GetScheduleCount(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 10
0
 public ListRecordings(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 11
0
 public GetRecordingInfo(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 12
0
 public GetDriveSpace(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 13
0
 public GetBackendName(ConnectionHandler connection)
     : base(connection)
 {
 }
 public SetRecordingTimesWatched(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 15
0
 public GetRecordingCount(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 16
0
 public IsTimeshifting(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 17
0
 public ListSchedules(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 18
0
 public GetRecordingStopTime(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 19
0
 public GetTime(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 20
0
 public GetEPG(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 21
0
 public UpdateRecording(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 22
0
 public Test(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 23
0
 public AddSchedule(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 24
0
 public ListTVChannels(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 25
0
 public GetUserName(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 26
0
 public GetVersion(ConnectionHandler connection)
     : base(connection)
 {
 }
Esempio n. 27
0
 public GetChannelCount(ConnectionHandler connection)
     : base(connection)
 {
 }