Trabalho refente á disciplina de Atividade Pratica Supervisionada sobre ferramenta de comunicação em rede desenvolvido n...
APS – ATIVIDADES PRÁTICAS SUPERVISIONADAS
Ciência da Computação
“DESENVOLVIENTO DE UA !ERRAENTA DE COUNICA"#O E REDE
$onat%an Rod&i'u() A*+() 2&('o&3 Rica&do C4 d( o&a() L(and&oSantana d(Sou6a
RA, -./0.A1 RA, A00C$C50 RA, -7809:50
;ndic( Odi'o do P&o'&ama –5555555–5555–5555 Ap&()(ntação do P&o'&ama (m !uncionam(nto5555555555555555555 55 -i para troca de informaç)es, evitando o deslocamento e $asto com li$aç)es. @ercebemos então, o enorme $anho que o meio corporativo obteve com a implantação das redes de computadores. Eeus dados e dispositivos a$ora podem ser compartilhados e acessados por filiais em qualquer parte do mundo, além de promover uma melhor comunicação entre seus usuários. o in3cio, talvez o maior objetivo para se ter um computador em casa fosse utilizar os aplicativos de texto e os jo$os. !tualmente, esse pensamento mudou radicalmente com a che$ada da internet, é permitido ao usuário doméstico acessar informaç)es remotas, comunicação entre usuários, jo$os online e o correio eletr'nico. 0om a internet, os usuários podem obter informaç)es dos mais variados $/neros como esporte, arte, ci/ncia, automóveis, história, dentre muitos outros. portais de informação atualizam seususuários arti$os minuto s a minuto, proporcionando aos seus informaç)es recentes. !lém de ler as not3cias, como se estivesse lendo um jornal on#line, o leitor pode acompanhar debates, jul$amentos, resultados de jo$os, eventos importantes, tudo em tempo real. Todas as aplicaç)es que citamos anteriormente envolvem a interação entre o usuário e um banco de dados. utra cate$oria de utilização de redes de computadores é a comunicação entre os usuários, comandada principalmente pelo e#mail que já faz parte do dia#a#dia das pessoas e é utilizado por milh)es de pessoas em todo o mundo. ! troca de mensa$ens instant1neas como DE Dessen$er, F0G, (oo$le Dessen$er virou uma febre entre os jovens, as salas de bate#papo são muito visitadas por pessoas que desejam discutir assuntos em comum. R escritor \ ne" @rintBriter=soc9et.$etutputEtream=>>R leitor \ ne" Ecanner=soc9et.$etFnputEtream=>>R ne" Thread=ne" uveEervidor=>>.start=>R `catch=[` ` `
C%atS(&+ido& pac9a$e redesR import java.io.FR public 0hatEervidor=>[ EerverEoc9et serverR trJ [ server \ ne" EerverEoc9et=4888>R ne" TelaFnicial-=>R Z
[email protected]"Dessa$e2ialo$ =null,^Eervidor nline.^>R "hile=true>[ AAmonitorar constantemente a situação Eoc9et soc9et \ server.accept=>R ne" Thread=ne" uve0liente=soc9et>>.start=>R @rintBriter p \ ne" @rintBriter=soc9et.$etutputEtream=>>R escritores.add=p>R ` `
` catch =F [`
private void encaminhar@araTodos=Etrin$ texto>[ for =@rintBriter " M escritores>[ trJ[ ".println=texto>R ".flush=>R `catch=[` ` ` private class uve0liente implements Qunnable[ Ecanner leitorR public uve0liente=Eoc9et soc9et>[ trJ[ leitor \ ne" Ecanner=soc9et.$etFnputEtream=>>R AA faz a leitura das informaç)es `catch=[`
` public void run=> [ Etrin$ textoR trJ[ "hile==texto \ leitor.nextPine=>> ]\ null>[ EJstem.out.println=texto>R encaminhar@araTodos=texto>R ` `catch=[` ` ` public static void main=Etrin$ ar$s> [ ne" 0hatEervidor=>R ` `
S(&+ido&Top pac9a$e redesR import java.a"t.OorderPaJoutR import java.a"t.0ontainerR import java.a"t.:ontR import java.a"t.event.!ctionRAA add no final do texto este novo trecho ` `catch=[` ` ` public EervidorTop=Etrin$ nome>[ super=^%suário Eervidor^>R this.nome \ nomeR texto@araR
janela2eR textoQecebido \ ne" ZText!rea=>R ZEcroll@ane scroll \ ne" ZEcroll@ane=textoQecebido>R textoQecebido.set:ont=fonte>R textoQecebido.setR $et0ontent@ane=>.add=OorderPaJout.0.add=OorderPaJout.E%T?, janela2eR confi$urarQede=>R set2efault0loseperation=2FE@ER setPocation=;*8, *88>R setNisible=true>R ` private class \\ botao [ escritor.println=nome S ^ M ^ S texto@ara>R escritor.flush=>RAA $arantir que a informação seja encaminhada texto@araR texto@araR AA adiciona o cursor no campo de texto ` ` ` private void confi$urarQede=>[ trJ[ soc9et \ ne" Eoc9et=^*-+.8.8.*^, 4888>R escritor \ ne" @rintBriter=soc9et.$etutputEtream=>>R leitor \ ne" Ecanner=soc9et.$etFnputEtream=>>R ne" Thread=ne" uveEervidor=>>.start=>R `catch=[` ` `
T(*a Inicia* pac9a$e redesR import java.a"t.OorderPaJoutR import java.a"t.0ontainerR import java.a"t.:lo"PaJoutR import java.a"t.:ontR import java.a"t.(raphicsR import java.a"t.(raphics-2R import java.a"t.(ridPaJoutR import java.a"t.event.!ction.$etQesource=^AFma$ensAinicial.jp$^>>R Z@anel panel*R ZOutton cliente, servidorR 0ontainer janela-R TelaPo$in lo$inR public TelaFnicial-=>[ super=^R cliente servidor\ \ne" ne"ZOutton=^0liente^>R ZOutton=^%suário Eervidor^>R panel* \ ne" Z@anel=>R :ont fonte \ ne" :ont=^Nerdana^, :ont.FT!PF0, *6>R cliente.set:ont=fonte>R servidor.set:ont=fonte>R cliente.add!ctionPistener=this>R servidor.add!ctionPistener=this>R janela- \ $et0ontent@ane=>R janela-.setPaJout=ne" OorderPaJout=>>R panel*.setPaJout=null>R panel*.add=cliente>R panel*.add=servidor>R
ne"
cliente.setOounds=+, *5+, *4;, -8>R servidor.setOounds=-6;, *5+, *46, -8>R janela-.add=panel*, OorderPaJout.0R setNisible=true>R
public void paint=(raphics $>[ super.paint=$>R (raphics-2 $-d \ =(raphics-2>$R $-d.dra"Fma$e=fundo.$etFma$e=>,8,8,this>R` public void action@erformed=!ction [ if=e.$etEource=> \\ cliente>[ Etrin$ nome \ Z
[email protected]"Fnput2ialo$=^2i$ite seu nome^>R ne" 0hat0liente=nome>R ` if=e.$etEource=> \\ servidor>[ ne" TelaPo$in=>R ` ` `
T(*aLo'in pac9a$e redesR import java.a"t.OorderPaJoutR import java.a"t.0ontainerR import java.a"t.:lo"PaJoutR import java.a"t.(raphicsR import java.a"t.(raphics-2R import java.a"t.(ridPaJoutR import java.a"t.event.!ction[ super=^Tela de Po$in^>R jlome \ ne" ZPabel=^%suário^>R jlEenha \ ne" ZPabel=^Eenha^>R jlFnfo \ ne" ZPabel=^Fnforme o ome de %suário e Eenha^>R tfome \ ne" ZText:ield=*8>R bt9 \ ne" ZOutton=^R bt0ancelar \ ne" ZOutton=^0ancelar^>R pass"d:ield \ ne" Z@ass"ord:ield=^^>R jp0enter \ ne" Z@anel=>R jp0enter:ull \ ne" Z@anel=>R jp?ead \ ne" Z@anel=>R jpPo$in \ ne" Z@anel=>R jpOuttons \ ne" Z@anel=>R jp:ull \ ne" Z@anel=>R
bt9.add!ctionPistener==!ctionPistener> this>R bt0ancelar.add!ctionPistener==!ctionPistener> this>R janela \ $et0ontent@ane=>R janela.setPaJout=ne" OorderPaJout=>>R jpPo$in.setPaJout=ne" (ridPaJout=-,*>>R jpOuttons.setPaJout=ne" (ridPaJout=*,->>R jp?ead.setPaJout=ne" :lo"PaJout=>>R jp0enter.setPaJout=ne" OorderPaJout=>>R jp0enter:ull.setPaJout=ne" OorderPaJout=>>R jp:ull.setPaJout=ne" :lo"PaJout=>>R jp:ull.setEize=*88,*88>R jp?ead.add=jlFnfo>R jpPo$in.add=jlome>R jpPo$in.add=tfome>R jpPo$in.add=jlEenha>R jpPo$in.add=pass"d:ield>R jpOuttons.add=bt9>R jpOuttons.add=bt0ancelar>R jp0enter.add=jpPo$in, OorderPaJout.0R jp0enter:ull.add=jp?ead, OorderPaJout.QT?>R jp0enter:ull.add=jp0enter, OorderPaJout.0R janela.add=jp:ull, OorderPaJout.0R setNisible=true>R ` public void action@erformed=!ction[ Etrin$ lo$in \ ^eco^R Etrin$ senha \ ^eco^R if=e.$etEource=> \\ bt9>[ Etrin$ lo$in* \ tfome.$etText=>R Etrin$ senha* \ pass"d:ield.$etText=>R if=senha*.equals=senha> lo$in*.equals=lo$in>>[ Z
[email protected]"Dessa$e2ialo$ =null,^%suário ou senha incorretos.^>R setNisible=false>R
ne" EervidorTop=^%suário Eervidor^>R ` else[ iSSR Z
[email protected]"Dessa$e2ialo$ =null,^2ados incorretos^>R` ` if=i \\ ;>[dispose=>R` if=e.$etEource=> \\ bt0ancelar>[dispose=>R` ` `
R(?(&(ncia -i