Esempio n. 1
0
        private void StopReceiver()
        {
            TCPMessageReceiver r = Interlocked.Exchange(ref this.m_Receiver, null);

            if (r != null)
            {
                r.Dispose();
            }
        }
Esempio n. 2
0
        private void StartClient(IPEndPoint remoteEP)
        {
            if (m_Client != null)
            {
                Trace.WriteLine("Attempt to start a TCPClient when a client is already running.", this.GetType().ToString());
                return;

                //throw (new ApplicationException("Attempt to start a TCPClient when a client is already running."));
            }
            m_Client = new TCPClient(remoteEP, this.m_Model.Participant, this.m_Model.Network, Guid.Empty);
            m_Client.Changed["Connected"].Add(new PropertyEventHandler(HandleClientConnectedChanged)); //Start sender only after we are connected.
            m_Client.Start();
            m_Receiver = new TCPMessageReceiver(m_Client, this.m_Model, this.m_Classroom);
        }
Esempio n. 3
0
        private void StartServer(InstructorModel instructor)
        {
            if (m_Server != null)
            {
                Trace.WriteLine("Attempt to start a TCPServer when a server is already running.", this.GetType().ToString());
                return;

                //throw (new ApplicationException("Attempt to start a TCPServer when a server is already running."));
            }

            m_Server = new TCPServer(this.m_Model, this.m_Classroom, instructor);
            m_Sender = new TCPMessageSender(m_Server, this.m_Model, this.m_Classroom);
            m_Server.Start(m_Sender);
            m_Receiver = new TCPMessageReceiver(m_Server, this.m_Model, this.m_Classroom);
            using (Synchronizer.Lock(this.SyncRoot))
                this.SetPublishedProperty("ServerStarted", ref m_ServerStarted, true);
        }
Esempio n. 4
0
 public MessageProcessingQueue(TCPMessageReceiver receiver)
 {
     this.m_Receiver = receiver;
 }
        private void StartClient()
        {
            if (m_Client != null) {
                Trace.WriteLine("Attempt to start a TCPClient when a client is already running.", this.GetType().ToString());
                return;

                //throw (new ApplicationException("Attempt to start a TCPClient when a client is already running."));
            }
            m_Client = new TCPClient(m_InstructorAdvertisement.Endpoint, this.m_Model.Participant, this.m_Model.Network, m_InstructorAdvertisement.InstructorID);
            m_Client.Changed["Connected"].Add(new PropertyEventHandler(HandleClientConnectedChanged)); //Start sender only after we are connected.
            m_Client.Start();
            m_Receiver = new TCPMessageReceiver(m_Client, this.m_Model, this.m_Classroom);
        }
        private void StartServer(InstructorModel instructor)
        {
            if (m_Server != null) {
                Trace.WriteLine("Attempt to start a TCPServer when a server is already running.", this.GetType().ToString());
                return;

                //throw (new ApplicationException("Attempt to start a TCPServer when a server is already running."));
            }

            m_Server = new TCPServer(this.m_Model, this.m_Classroom, instructor);
            m_Sender = new TCPMessageSender(m_Server, this.m_Model, this.m_Classroom);
            m_Server.Start(m_Sender);
            m_Receiver = new TCPMessageReceiver(m_Server, this.m_Model, this.m_Classroom);
            using (Synchronizer.Lock(this.SyncRoot))
                this.SetPublishedProperty("ServerStarted", ref m_ServerStarted, true);
        }
 public MessageProcessingQueue(TCPMessageReceiver receiver)
 {
     this.m_Receiver = receiver;
 }