Exemplo n.º 1
0
        private void painter_Disconnected(Painter obj)
        {
            PainterClient client = clients.Remove(obj);

            MainCanvas.Dispatcher.BeginInvoke(new Action(() => connectedClientsView.Remove(client.ControlComponent)));
            Log.Debug(String.Format("Client {0} disconnected", obj.RemoteName));
        }
Exemplo n.º 2
0
 private void Start()
 {
     Thread.CurrentThread.Name = "New client register";
     Listening = true;
     while (Listening)
     {
         Painter painter = new Painter(lanCanvas, Name);
         painter.Listen(IPAddress.Any, StaticPenises.SC_PORT, StaticPenises.CS_PORT);
         PainterClient client = new PainterClient(painter, MainCanvas.Dispatcher);
         try
         {
             clients.Add(client);
             MainCanvas.Dispatcher.BeginInvoke(new Action(() => connectedClientsView.Add(client.ControlComponent)));
             painter.Disconnected += painter_Disconnected;
             painter.ReceiverHandle.StrokeReceived        += (stroke) => sendStrokeToAllClientsBut(stroke, client);
             painter.ReceiverHandle.StrokeRemoved         += (stroke) => removeStrokeInAllClientsBut(stroke, client);
             painter.ReceiverHandle.PointerStrokeReceived += (pointer) => sendPointerStrokeToAllClientsBut(pointer, client);
             painter.ReceiverHandle.StrokesWiped          += () => wipeAllClientsStrokesBut(client);
             painter.ReceiverHandle.ObjectsWiped          += () => wipeAllClientsObjectsBut(client);
         }
         catch (NameDuplicateException e)
         {
             Log.Error(e);
             painter.Disconnect();
         }
     }
 }
Exemplo n.º 3
0
 private void wipeAllClientsStrokesBut(PainterClient but)
 {
     foreach (PainterClient client in clients)
     {
         if (client != but)
         {
             client.PainterPenis.ServerHandle.WipeStrokes();
         }
     }
 }
Exemplo n.º 4
0
 private void removeStrokeInAllClientsBut(SignedStroke stroke, PainterClient but)
 {
     foreach (PainterClient client in clients)
     {
         if (client != but)
         {
             client.PainterPenis.ServerHandle.RemoveSignedStroke(stroke);
         }
     }
 }
Exemplo n.º 5
0
 private void sendStrokeToAllClientsBut(SignedStroke stroke, PainterClient but)
 {
     foreach (PainterClient client in clients)
     {
         if (client != but)
         {
             client.PainterPenis.ServerHandle.SendSignedStroke(stroke);
         }
     }
 }
Exemplo n.º 6
0
 private void sendPointerStrokeToAllClientsBut(SignedPointerStroke pointer, PainterClient but)
 {
     foreach (PainterClient client in clients)
     {
         if (client != but)
         {
             client.PainterPenis.ServerHandle.SendPointerStroke(pointer);
         }
     }
 }
Exemplo n.º 7
0
        public PainterClientWindow(PainterClient client)
        {
            InitializeComponent();

            DataContext = this;

            this.Client = client;

            nameLabel.Content = client.PainterPenis.RemoteName;
        }