Você está na página 1de 25

UNIP Universidade Paulista

Cincia da Computao

DESENVOLVIMENTO DE UMA
FERRAMENTA PARA COMUNICAO
EM REDE

MATEUS VERONA
B5935H9

Sumrio
Objetivo e motivao do trabalho........................................................................................................... 3
Introduo ............................................................................................................................................... 4
Fundamentos da comunicao de dados em rede ................................................................................. 5
Conceito de redes................................................................................................................................ 5
Histrico .............................................................................................................................................. 5
Usos ..................................................................................................................................................... 6
Redes de computadores em aplicaes comerciais ........................................................................ 6
Redes de computadores em aplicaes domsticas ....................................................................... 7
Classificao das redes ........................................................................................................................ 8
LAN .................................................................................................................................................. 8
MAN................................................................................................................................................. 9
WAN ................................................................................................................................................ 9
Meios fsicos de transmisso............................................................................................................... 9
Cabo par tranado ........................................................................................................................... 9
Cabo coaxial................................................................................................................................... 10
Cabo fibra ptica ........................................................................................................................... 10
Transmisso via rdio .................................................................................................................... 10
Transmisso via satlite ................................................................................................................ 10
Plano de desenvolvimento da aplicao ............................................................................................... 12
Projeto (estrutura e mdulos que sero desenvolvidos) do programa ................................................ 13
Relatrio com as linhas de cdigo do programa ................................................................................... 14
Chat ................................................................................................................................................... 14
Cliente ............................................................................................................................................... 21
Servidor ............................................................................................................................................. 22
Mensagem ......................................................................................................................................... 23
Bibliografia............................................................................................................................................. 25

Objetivo e motivao do trabalho


O presente trabalho tem por objetivo demonstrar como funciona a comunicao
em rede entre dois ou mais computadores, com o desenvolvimento de uma ferramenta
em linguagem de programao Java, fazendo uso tambm do protocolo TCP/IP. Para
isso foi utilizado o programa IDE NetBeans para desenvolver a aplicao bem como
foi realizada pesquisa terica a fim de aprofundar os conhecimentos acerca da melhor
linguagem para o desenvolvimento de tal programa e as suas utilidades e aplicaes
no cotidiano.

Introduo
O presente trabalho intitulado desenvolvimento de uma ferramenta para
comunicao em rede, tem por objetivo demonstrar as utilidades prticas de um
aplicativo para comunicao em rede entre computadores, desenvolvido em
linguagem de programao Java atravs do protocolo TCP/IP. Assim, foi realizada
pesquisa terica para embasar o desenvolvimento da aplicao. O resultado final ser
apresentado em sala.

Fundamentos da comunicao de dados em rede


Conceito de redes
Rede de computadores um conjunto de equipamentos interligados de
maneira a trocarem informaes e compartilharem recursos, como arquivos de dados
gravados, impressoras, modems, softwares e outros equipamentos.

Histrico
As redes passaram por um longo processo de evoluo antes de chegarem aos
padres utilizados atualmente. As primeiras redes de computadores foram criadas
ainda durante a dcada de 60, como uma forma de transferir informaes de um
computador a outro.
De 1969 a 1972, foi criada a ARPANET, o embrio da Internet que conhecemos
hoje. A rede entrou no ar em dezembro de 1969, inicialmente, com apenas quatro ns,
que respondiam pelos nomes SRI, UCLA, UCSB e UTAH e eram sediados,
respectivamente, no Stanford Research Institute, na Universidade da Califrnia, na
Universidade de Santa Barbara e na Universidade de Utah, todas elas nos EUA. Eles
eram interligados atravs de links de 50 kb/s, criados usando linhas telefnicas
dedicadas, adaptadas para o uso como link de dados.
Em 1974, surgiu o TCP/IP, que se tornou o protocolo definitivo para uso na
ARPANET e, mais tarde, na internet. Uma rede interligando diversas universidades
permitiu o livre trfego de informaes, levando ao desenvolvimento de recursos que
usamos at hoje, como o e-mail, o telnet e o FTP, que permitiam aos usurios
conectados trocar informaes, acessar outros computadores remotamente e
compartilhar arquivos. Na poca, mainframes com um bom poder de processamento
eram raros e incrivelmente caros, de forma que eles acabavam sendo compartilhados
entre diversos pesquisadores e tcnicos, que podiam estar situados em qualquer
ponto da rede.
Apesar da indstria de informtica ser jovem em comparao a outros setores
(automobilstico e areo), foi simplesmente espetacular o progresso que os
computadores experimentaram em curto perodo. Durante as primeiras dcadas de
sua existncia, os sistemas eram altamente centralizados em geral instalados em uma
grande sala, muitas vezes com acesso restrito.

A fuso dos computadores e comunicaes teve uma profunda influncia na


forma como os sistemas computacionais so organizados. O conceito ento
dominante de centro de computao como uma sala com um grande computador
aos quais os usurios levam seu trabalho para processamento agora est totalmente
obsoleto. Este conceito foi alterado para em vez de um computador processando tudo
centralizadamente para que trabalhos so realizados por um grande n de
computadores separados, porm interconectados. Esses sistemas so chamados de
redes de computadores.
Redes de computadores envolvem equipamentos, protocolos, modelos de
referncia para uso em hardwares de rede, j os sistemas distribudos so
responsveis pela implementao de um modelo coerente em software, em outras
palavras, um sistema de software instalado na parte superior de uma rede dando
alto grau de coeso e transparncia. Exemplo: World Wide Web sob ETHERNET. Em
um sistema distribudo a existncia de vrios computadores autnomos transparente
para o usurio ele entra com um comando e o SO que decide qual processador ou
PC executar, enquanto que em redes o usurio que decide em qual PC far o acesso
para execuo.

Usos
Redes de computadores em aplicaes comerciais
Atualmente, as empresas possuem um grande nmero de computadores para
desempenhar os mais diversos tipos de aplicaes, como monitoramento, controle de
produo e estoque, gerao de planilhas e relatrios etc. Inicialmente, cada processo
era feito de modo isolado, no existia nenhuma forma de correlacionamento de
informaes e compartilhamento de recursos. Foi observado ento, que com a
interligao desses computadores espalhados pelas empresas, era possvel
comunicar os mais diversos sistemas, alm de compartilhar recursos como
impressores e drivers de CD-ROM, o que permite que todos os usurios da rede
utilizem esses recursos.
Na maioria dos casos em que as empresas implantam em sua estrutura uma
rede de computadores, elas sempre obtm economia com o compartilhamento de
recursos. Como exemplo, imagine a situao em que existem vrias impressoras
individuais, sendo estas substitudas por uma nica impressora de grande porte, com

essa troca, a manuteno facilitada, permite o acesso de um nmero maior de


usurios, alm de possibilitar o controle do nmero de impresses.
To importante quanto o compartilhamento de recursos o compartilhamento
de informaes. As grandes instituies possuem filiais espalhadas por regies
diferentes e precisam acessar informaes que so comuns a todas, como registro de
clientes, estoque de produtos, pedidos, etc. O fato de os usurios estarem em pases
diferentes, no impede que eles acessem esses dados como se eles estivessem
armazenados em seu computador local. Para permitir esta facilidade de acesso, so
utilizados servidores de grande porte para o armazenamento de informaes e os
usurios, com suas estaes de trabalho, acessam esses dados remotamente. Essa
comunicao entre computadores clientes e servidores feita atravs das redes de
computadores.
Temos como exemplo de um modelo cliente/servidor, o acesso a uma pgina
na internet, onde o usurio o cliente que solicita atravs do seu navegador Web, um
site qualquer e o servidor remoto encarrega-se de responder solicitao do cliente.
Observe que nesse modelo existem dois processos envolvidos, formado pelo
computador cliente e o computador servidor.
Alm do compartilhamento de recursos e informaes, as redes de
computadores podem oferecer um eficiente meio de comunicao entre seus
usurios. Muitas empresas utilizam o correio eletrnico (e-mail) para troca de
informaes, evitando o deslocamento e gasto com ligaes. Percebemos ento, o
enorme ganho que o meio corporativo obteve com a implantao das redes de
computadores. Seus dados e dispositivos agora podem ser compartilhados e
acessados por filiais em qualquer parte do mundo, alm de promover uma melhor
comunicao entre seus usurios.
Redes de computadores em aplicaes domsticas
No incio, talvez o maior objetivo para se ter um computador em casa fosse
utilizar os aplicativos de texto e os jogos. Atualmente, esse pensamento mudou
radicalmente com a chegada da internet, permitido ao usurio domstico acessar
informaes remotas, comunicao entre usurios, jogos online e o correio eletrnico.
Com a internet, os usurios podem obter informaes dos mais variados gneros
como esporte, arte, cincia, automveis, histria, dentre muitos outros. Os portais de

informao atualizam seus artigos minuto a minuto, proporcionando aos seus usurios
informaes recentes. Alm de ler as notcias, como se estivesse lendo um jornal online, o leitor pode acompanhar debates, julgamentos, resultados de jogos, eventos
importantes, tudo em tempo real.
Todas as aplicaes que citamos anteriormente envolvem a interao entre o
usurio e um banco de dados. Outra categoria de utilizao de redes de computadores
a comunicao entre os usurios, comandada principalmente pelo e-mail que j faz
parte do dia-a-dia das pessoas e utilizado por milhes de pessoas em todo o mundo.
A troca de mensagens instantneas como MSN Messenger, ICQ, Google Messenger
virou uma febre entre os jovens, as salas de bate-papo so muito visitadas por
pessoas que desejam discutir assuntos em comum. Essa interatividade entre os
usurios, proporcionada pela grande rede de computadores que faz da internet um
sucesso.
Por fim, h o entretenimento que composto principalmente pelos jogos em
rede e jogos on-line. Os jogos em redes esto perdendo espao para os on-line,
principalmente pela sua limitao de estrutura fsica, pois os jovens montam suas
redes caseiras formadas por dois ou mais computadores e ficam restritos estrutura
e ao espao fsico limitado. Com os online, basta apenas estar conectado internet,
em que possvel acessar jogos de simulao em tempo real formados por equipes
de vrios participantes, onde o usurio pode competir com jogadores de todas as
partes do mundo.
As redes de computadores tornaram-se extremamente importantes para as
pessoas que se encontram em regies distantes, pois propiciam a elas servios que
so oferecidos s pessoas das grandes cidades, e sem dvida a diversidade do uso
das redes de computadores crescer rapidamente no futuro, e chegar onde ningum
capaz de prever agora.

Classificao das redes


LAN
LAN a tecnologia que apresenta uma boa resposta para interligao de
dispositivos com distncias relativamente pequenas e com uma largura de banda
considervel; uma facilidade de comunicao que prov uma conexo de alta

velocidade entre processadores, perifricos, terminais e dispositivos de comunicao


de uma forma geral em um nico prdio ou campus.
MAN
As redes metropolitanas podem ser entendidas como aquelas que proveem a
interligao das redes locais em uma rea metropolitana de uma determinada regio.
WAN
Quando as distncias envolvidas na interligao dos computadores so
superiores a uma regio metropolitana, podendo ser a disperso geogrfica to
grande quanto a distncia entre continentes, a abordagem correta a rede
geograficamente distribuda (WAN).

Meios fsicos de transmisso


Os meios fsicos de transmisso so compostos pelos cabos coaxiais, par
tranado, fibra ptica, transmisso a rdio, transmisso via satlite e so divididos em
duas categorias: os meios guiados e os meios no guiados.
No meio guiado, o sinal percorre atravs de meios slidos, como a fibra, o cabo
coaxial e o par tranado. No meio no guiado, o sinal propaga-se na atmosfera, como
o caso das redes sem fio e transmisses via rdio e via satlite.
Cabo par tranado
O meio de transmisso guiado mais utilizado pelas redes telefnicas o par
tranado, que est presente em quase 95% das ligaes entre os aparelhos
residenciais e as centrais telefnicas. Sua constituio feita por dois fios de cobre
isolados e enrolados em forma de espiral, com o intuito de reduzir as interferncias
dos pares semelhantes que esto prximos. Os pares so conjugados dentro de um
cabo, sendo que cada par isolado por uma blindagem de proteo.
O par de fio tranado UTP (Unshielded Twisted Pair) bem utilizado em redes
de computadores existentes em edifcios comerciais. Sua taxa de transmisso est
na faixa de 10 Mbps a 1 Gbps, o que pode variar dependendo da distncia entre o
transmissor e o receptor.
A tecnologia UTP categoria 5 consegue o alcance de taxas de transmisso de
dados de 100 Mbps, na distncia de algumas centenas de metros permitindo que o
par tranado firme-se como a tecnologia dominante em LANs de alta velocidade.

10

Cabo coaxial
Outro meio de transmisso guiado o cabo coaxial. Ele possui melhor
blindagem se comparado com o cabo par tranado, podendo se estender por
distncias maiores e em velocidades mais altas. Sua constituio formada por dois
condutores de cobre concntricos e no paralelos com um isolamento e blindagem
especial, o que permite, com essa configurao, o alcance de altas taxas de
transmisso de bits.
Um fio de cobre na parte central envolvido por um material isolante, que
protegido por uma malha slida entrelaada. O condutor externo protegido por uma
camada plstica protetora.
Existem dois tipos de cabos coaxiais comumente usados. O primeiro o cabo
de 50 ohms, que utilizado em transmisses digitais, e o segundo o cabo de 75
ohms que utilizado com frequncia em transmisses analgicas de TV e internet a
cabo. O cabo coaxial pode ser utilizado como um meio compartilhado guiado, onde
vrios sistemas finais podem ser conectados diretamente ao cabo, e todos eles
recebem os sinais que so enviados por outros sistemas finais.
Cabo fibra ptica
A fibra ptica um meio de transmisso guiado que conduz pulsos de luz, cada
pulso representado por um bit. A fibra, alm de suportar altas taxas de transmisso
de bits, na casa das dezenas de gigabits por segundo, imune a interferncias
eletromagnticas, e possui uma baixa atenuao de sinal. Todas essas caractersticas
tornaram a fibra o meio preferido para transmisses guiadas de longo alcance. O cabo
de fibra ptica semelhante ao cabo coaxial, exceto por no ter a malha metlica.
Transmisso via rdio
Os canais de rdio carregam seus sinais dentro do espectro eletromagntico,
um meio de transmisso atraente, pois no necessita de cabos fsicos. Os canais de
rdio so fceis de gerar, podem percorrer longas distncias e atravessar paredes e
obstculos. So considerados omnidirecionais, o que permite que viajem por todas as
direes, e desse modo o transmissor e o receptor no precisam estar fisicamente
alinhados.
Transmisso via satlite
Um satlite de comunicao permite a ligao de dois ou mais transmissoresreceptores, que so denominados de estaes terrestres. Eles recebem as

11

transmisses em uma faixa de frequncia, geram novamente o sinal com o uso de


repetidores e transmitem o sinal em uma outra faixa de frequncia. Existem dois tipos
de satlite que so usados para a comunicao: os satlites geoestacionrios e os
satlites de baixa altitude.
Os satlites geoestacionrios ficam permanentemente sobre o mesmo lugar da
terra. Isso s permitido, porque so colocados em rbita a 37mil quilmetros acima
da superfcie terrestre. Essa enorme distncia pode causar atrasos de propagao.
Mesmo assim, essa transmisso alcana velocidades de centenas de Mbps, e so
frequentemente usados em redes telefnicas e backbones da internet.
Os satlites de baixa altitude so posicionados prximos da terra e no ficam
permanentemente em um nico lugar. Eles giram ao redor da terra e para promoverem
a cobertura contnua em determinadas reas necessrio colocar muitos satlites em
rbita.

12

Plano de desenvolvimento da aplicao


A aplicao foi desenvolvida com o objetivo de interligar os conhecimentos e
habilidades desenvolvidos durante o decorrer do semestre atual, bem como dos
semestres anteriores, a fim de dar utilidade prtica aos conhecimentos tericos
adquiridos em sala de aula.
A aplicao, por tanto, foi desenvolvida utilizando a linguagem de programao
Java, atravs do programa IDE NetBeans, j utilizados em semestres anteriores.
Assim, foi desenvolvido um aplicativo que, utilizando-se do protocolo TCP/IP permite
a comunicao em rede entre computadores.
Essa aplicao permite a troca de mensagens entre computadores, tendo como
grandes exemplos o MSN Messenger e o ICQ.

13

Projeto (estrutura e mdulos que sero desenvolvidos) do programa

14

Relatrio com as linhas de cdigo do programa


Chat
package cliente;

import java.awt.event.*;
import java.io.*;
import java.net.*;

import static javax.swing.JOptionPane.*;

public class Chat extends javax.swing.JFrame {

private String nome;


private Socket s;
private BufferedReader br;
private InputStreamReader isr;

//Mtodo Construtor.
public Chat(String nome) {
initComponents();
this.nome = nome;
try {
s = new Socket("localhost", 5000);
} catch (IOException e) {
showMessageDialog(null, "No conectou ao servidor.");
System.exit(0);
}
Thread();
}

private void Thread() {

15
Thread t = new Thread(new Runnable() {
String mensagem;

@Override
public void run() {

try {
isr = new InputStreamReader(s.getInputStream());
br = new BufferedReader(isr);
while ((mensagem = br.readLine()) != null) {
mensagemRecebida.setText(mensagemRecebida.getText() + mensagem + "\n");
}
} catch (IOException e) {
showMessageDialog(null, "Erro na conexo com o servidor", "", ERROR_MESSAGE);
}
}
});
t.start();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jScrollPane3 = new javax.swing.JScrollPane();


mensagemRecebida = new javax.swing.JTextArea();
jScrollPane4 = new javax.swing.JScrollPane();
mensagemEnviada = new javax.swing.JTextArea();
btnEnviar = new javax.swing.JButton();
btnsair = new javax.swing.JButton();

16
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
setTitle("Chat - APS");
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
setIconImage(getIconImage());

mensagemRecebida.setEditable(false);
mensagemRecebida.setColumns(20);
mensagemRecebida.setRows(5);
jScrollPane3.setViewportView(mensagemRecebida);

mensagemEnviada.setColumns(20);
mensagemEnviada.setRows(5);
jScrollPane4.setViewportView(mensagemEnviada);

btnEnviar.setText("Enviar");
btnEnviar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnEnviarActionPerformed(evt);
}
});
btnEnviar.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
btnEnviarKeyPressed(evt);
}
});

btnsair.setText("Sair");
btnsair.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnsairActionPerformed(evt);
}

17
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 332,
Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(btnsair, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnEnviar, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addComponent(jScrollPane3))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 180,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()

18
.addComponent(btnEnviar, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnsair, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void btnEnviarActionPerformed(java.awt.event.ActionEvent evt) {


String mensagem = nome + " Disse: ";
try {
PrintStream ps = new PrintStream(s.getOutputStream());
mensagem += mensagemEnviada.getText();
//Recebe mensagem e envia
ps.println(mensagem);
//Limpar memria
ps.flush();
mensagemEnviada.setText("");
} catch (IOException e) {
showMessageDialog(null, "No conseguiu enviar a mensagem", "", ERROR_MESSAGE);
}

private void btnsairActionPerformed(java.awt.event.ActionEvent evt) {


try {
s.close();

19
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
}
}

private void btnEnviarKeyPressed(java.awt.event.KeyEvent evt) {


if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
String mensagem = nome + " Disse: ";
try {
PrintStream ps = new PrintStream(s.getOutputStream());
mensagem += mensagemEnviada.getText();
//Recebe mensagem e envia
ps.println(mensagem);
//Limpar memria
ps.flush();
mensagemEnviada.setText("");
} catch (IOException e) {
showMessageDialog(null, "No conseguiu enviar a mensagem", "", ERROR_MESSAGE);
}
}
}

// Variables declaration - do not modify


private javax.swing.JButton btnEnviar;
private javax.swing.JButton btnsair;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JTextArea mensagemEnviada;
private javax.swing.JTextArea mensagemRecebida;
// End of variables declaration

20
}

21

Cliente
package cliente;

import static javax.swing.JOptionPane.*;

public class Cliente {

public static void main(String[] args) {


String nome = showInputDialog(null, "Digite seu nome: ");
Chat chat = new Chat(nome);
chat.setVisible(true);
}
}

22

Servidor
package servidor;

import java.io.*;
import java.net.*;
import java.util.*;

public class Servidor {

public static void main(String[] args) {

ArrayList<PrintStream> clientes = new ArrayList<>();

try {
ServerSocket server = new ServerSocket(5000);
Socket socket;

while (true) {
socket = server.accept();
//Guarda o endereo do cliente
clientes.add(new PrintStream(socket.getOutputStream()));
Mensagem mensagem = new Mensagem(socket, clientes);

}
} catch (IOException e) {
e.printStackTrace();
}
}
}

23

Mensagem
package servidor;

import java.io.*;
import java.net.*;
import java.util.*;

public class Mensagem {

private Socket s;
private ArrayList<PrintStream> clientes;

//Set
public void setClientes(ArrayList<PrintStream> clientes) {
this.clientes = clientes;
}

public Mensagem(Socket s, ArrayList<PrintStream> clientes) {


this.s = s;
this.clientes = clientes;
Thread();
}

private void Thread() {

Thread t = new Thread(new Runnable() {


@Override
public void run() {
String mensagem = "";
try {
InputStreamReader isr = new InputStreamReader(s.getInputStream());

24
BufferedReader br = new BufferedReader(isr);
while ((mensagem = br.readLine()) != null) {
enviarMensagem(mensagem);
}
} catch (IOException e) {
e.printStackTrace();
}
}
});
t.start();
}

private void enviarMensagem(String mensagem) {


for (int a = 0; a < clientes.size(); a++) {
clientes.get(a).println(mensagem);
clientes.get(a).flush();
}
}
}

25

Bibliografia
FUNDAMENTOS
DE
REDES
DE
DADOS
E
COMUNICAO.
<http://www.goiania.go.gov.br/sistemas/scmag/dados/refautor/refautor21.pdf > Acesso em 11 de
maio de 2015.

ALENCAR, Mrcio Aurlio dos Santos. FUNDAMENTOS DE REDES DE COMPUTADORES. <


http://redeetec.mec.gov.br/images/stories/pdf/eixo_infor_comun/tec_man_sup/081112_funf_rede
s_comp.pdf > Acesso em 07 de maio de 2015.

CARVALHO, Diego Fiori de. FUNDAMENTOS E INFRA-ESTRUTURA EM REDES DE COMPUTADORES.


<http://stoa.usp.br/diegofdc/files/-1/20719/Apostila_Redes_ProfDiegoFiori_vfinal.pdf > Acesso em
09 de maio de 2015.

FUNDAMENTOS
DE
REDES
DE
DADOS
E
COMUNICAO

EAD.
<
http://unipvirtual.com.br/material/RECUPERACAO/EAD/FUNDAMENTOS_REDES_DADOS_COMCOM
UNICA/PDF/geral_pdf.pdf > Acesso em 13 de maio de 2015.