public void Run()
        {
            try
            {
                IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse(IP), PORT);
                tcpListener = new TcpListener(ipEndPoint);
                tcpListener.Start();

                while (true)
                {
                    Atendimento atendimento = new Atendimento();
                    atendimento.socket   = tcpListener.AcceptSocket();
                    atendimento.stream   = new NetworkStream(atendimento.socket);
                    atendimento.writer   = new BinaryWriter(atendimento.stream);
                    atendimento.reader   = new BinaryReader(atendimento.stream);
                    atendimento.Consulta = ClinicaXmlUtils.FromXml <Consulta>(atendimento.reader.ReadString());
                    if (list.Any(n => n.Consulta.ID_Consulta == atendimento.Consulta.ID_Consulta))
                    {
                        atendimento.writer.Write("Consulta já, existente.");
                    }
                    else
                    {
                        list.Add(atendimento);
                        Invoke(new MethodInvoker(delegate()
                        {
                            ListViewItem linha = listView1.Items.Add(atendimento.Consulta.ID_Consulta.ToString());
                            linha.SubItems.Add(atendimento.Consulta.Medico.Nome);
                            linha.SubItems.Add(atendimento.Consulta.Paciente.Nome);
                        }));
                    }
                    atendimento.writer.Write("FIM");
                }
            }
            catch (SocketException) { }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                CloseConnection();
            }
        }