Академический Документы
Профессиональный Документы
Культура Документы
RCTRedesdeComunicaoeTelecomunicaes
TrabalhoapresentadonombitodacadeiradeProtocolosdeComunicao
Maia,Janeiro2010
INSTITUTOSUPERIORDAMAIA
RCTRedesdeComunicaoeTelecomunicaes
Trabalhorealizadoparaadisciplinade:
ProtocolosdeComunicao
Leccionadapelo:
ProfessorLusMoreira
Trabalhorealizadopelosalunos:
AntnioMagalhes,n16684
LusCunha,n16488
NunoCampos,n17171
PedroLeito,n17175
VtorSilva,n18822
Maia,Janeiro2010
P.C.
ndice
1.1 ProjectoCHATROOM....................................................................................................4
1.2 ApresentaodoProjecto..............................................................................................4
2.
InterfaceGrfico............................................................................................................5
3.
ImplementaoModeloTerico..................................................................................6
3.1 AnnciosdeCliente.......................................................................................................6
3.2 AnnciosdeServidor.....................................................................................................7
4.
ArquitecturadomodeloTerico....................................................................................8
4.1 ClienteServidor.........................................................................................................8
4.2 ServidorCliente.........................................................................................................8
5.
Implementao..............................................................................................................9
6.
Dificuldades.................................................................................................................10
7.
Concluso....................................................................................................................11
ndicedeFiguras
Ilustrao1Login..........................................................................................................................5
Ilustrao2JaneladeMensagens.................................................................................................5
Ilustrao3JaneladevisualizaodoServidor............................................................................5
Ilustrao4Modelo......................................................................................................................6
3
3 Ano RCT Projecto CHAT ROOM
P.C.
1. EnquadramentodoProjecto
O presente projecto surge como proposta da cadeira de Protocolos de
Comunicao,comafinalidadedecriarumaaplicaoondepossaserimplementado
umprotocolodecomunicao.FoisugeridoquesecriasseumServidoreumcliente,a
fimdeseimplementarumprotocolodecomunicaoentreambos.
1.1
ProjectoCHATROOM
1.2
Implementaodeumservidor
Implementaodevriosclientes
Protocolodeligao,UDP
ApresentaodoProjecto
Duranteoprojectoforamsurgindoalgumasdificuldadeseresolvidasdeacordo
com as necessidades. Uma das dificuldades detectada inicialmente foi o facto de
termosoptadopeloprotocolodeconexoTCP,autilizaodesteprotocoloimpunha
uma programao orientada s THREADS, sendo os nossos conhecimentos de
programao limitados ao tempo de pesquisa necessrio para aplicar as mesmas.
DestaformapassamosautilizaroprotocolodecomunicaoUDP.
Sabendo que este protocolo apresenta uma lacuna ao nvel da segurana,
pretendemos no decurso deste projecto implementar criptografia associada s
mensagensenviadas,estepassoentranumasegundafaseassimqueaaplicaoesteja
afuncionardeacordocomadefinioprotocolardaaplicao.
4
3 Ano RCT Projecto CHAT ROOM
P.C.
2. InterfaceGrfico
Ointerfacecriadoparaestaaplicaodivideseem2partesdistintas,Servidor
ecliente.Nainterfacecliente,aqueapresentaumcontactodirectocomoutilizador,
surgeumajaneladeacolhimentoondesolicitadoquesecoloqueoIPdoservidoreo
nomedoclienteaseradicionadoaoChat.
Teoricamenteesteprocessodeveriaserautomtico,aparecendoapenasparao
clienteumalistadeservidoresqueforneamosserviosrequeridos.
Ilustrao1Login
ApsoLogindoutilizador,lheapresentadaajaneladecomunicaodoChat,
ondeaparece,umajaneladasmensagenspublicadas,umalistadosclientesqueesto
presentementenoChat,eumcampodeinserodetextoaenviar.
Ilustrao2JaneladeMensagens
Na mquina onde corre o servidor apenas surge uma janela onde podem ser
visionadostodasasmensagensgeradaspelosclienteseservidor.
Ilustrao3JaneladevisualizaodoServidor
5
3 Ano RCT Projecto CHAT ROOM
P.C.
3. ImplementaoModeloTerico
Paraestaaplicaovamosusaraporta1000paraescutareenviar.
Ilustrao4Modelo
3.1
AnnciosdeCliente
#1.1ProcuroServidorChat[COMANDO]
Inicialmente o cliente faz uma busca rede por Servidores que possam
forneceroqueestepretende.
#2.1NovoClienteChat[COMANDO],[UTILIZADOR]
Regularmenteoclienteverificaoestadodosservios,(Polling),fornecidospelo
Servidor.
#5.1EnviodeMensagensparaoChat[COMANDO],[UTILIZADOR]
Oclientedepoisdedevidamentevalidadonoservidor,podementocomeara
enviarmensagensparaoservidor,paraqueesteaspublique.
6
3 Ano RCT Projecto CHAT ROOM
P.C.
#6.1LogoutnoservidorChat[COMANDO],[UTILIZADOR]
OclientequandooentendaenviaoLogoutparaoservidorparaqueestefaoo
anncioaosdiversosclientes.
3.2
AnnciosdeServidor
#1.2ForneceserviosdeChat[COMANDO],[NOME]
Casooclientenoestejaaindaregistadonoservidor,estedeveadicionarse
listadeclientesdoservidor.Oservidorregistaumnovocliente.
#3.2Clienteexiste?Sim.FazLogin[COMANDO],[NOME]
Neste caso e uma vez que o cliente j existe nas tabelas do servidor, este
apenassolicitaqueoclientefaaLogin.
#4.2EstadodoCliente[COMANDO],[NOME],[ESTADO]
Oservidorrecebeasmensagensdeclientesepublicaas,indicandoonomede
quemaspublica.
#6.2EstadodoServidor[COMANDO],[NOME],[MENSAGEM]
7
3 Ano RCT Projecto CHAT ROOM
P.C.
4 Arquittecturad
4.
domodelo
oTerico
o
4
4.1
Clie
enteSe
ervidor
4
4.2
Serv
vidorCliente
8
3 Ano RCT Projecto CHAT ROO
OM
P.C.
5. Implementao
Na implementao do protocolo de comunicao nesta aplicao foram
enumeradososseguintescomandos:
//comandos utilizados
enum Command
{
Login,
Logout,
Message,
List,
Null
}
Oscomandosassentamnumaconversodevalores,devolvidospeloservidore
pelosclientes,emBytes.EstaainformaoqueenviadapelaligaoUDP.
Esteprocessoaplicadonosdois extremos,nomomentodarecepodestes
pacotes estes so reconvertidos e analisados para se proceder s respectivas
operaes.
//Converso dos comandos utilizados
...
clientSocket.EndReceive(ar);
Data msgReceived = new Data(byteDados);
switch (msgReceived.cmdCommand)
{
case Command.Login:
lstChatters.Items.Add(msgReceived.strNome);
break;
case Command.Logout:
lstChatters.Items.Remove(msgReceived.strNome);
break;
case Command.Message:
break;
case Command.List:
lstChatters.Items.AddRange(msgReceived.strMensag.Split('*'));
lstChatters.Items.RemoveAt(lstChatters.Items.Count - 1);
txtChatBox.Text += "<<<" + strNome + " juntou-se a sala>>>\r\n";
break;
...
9
3 Ano RCT Projecto CHAT ROOM
P.C.
6. Dificuldades
Durante o desenvolvimento deste projecto fomonos deparando com vrios
nveis de dificuldade, inicialmente com a plataforma de ligao Cliente Servidor.
Comeamospordefinircomprotocolodeligaoo,(TCP),queoqueserevelapara
ns o melhor para este tipo de comunicao. Contudo a manipulao de threads
requeria algum cuidado mais especializado, desta forma optamos pela utilizao do
protocoloUDPparaefectuaraligaoentreServidorCliente.
Outradasdificuldadesencontradaduranteestesemestrefoiagestodotempo
paradedicaraesteprojecto,estagestoapenasseprendeucomofactodeestarmos
toabsorvidospeloprojectoquenosesquecemosdereunircomosoutrosgruposde
trabalhoparaquesepudessedefinirumprotocolodeligaoquefosseigualemtodos
osprojectos.
Relativamente criptografia no nos foi possvel implementar, pois esta no
apresentavaoefeitoquesepretendia.Opretendidoeradeseencriptaramensagem
para que esta no fosse capturada por ningum, visto que o protocolo de ligao
escolhido,(UDP),transportatudosclaras.
10
3 Ano RCT Projecto CHAT ROOM
P.C.
7. Concluso
O presente projecto apesar de apresentar algumas lacunas como o caso da
criptografia, implementao em TCP, e uso de Threads, apresenta um nvel de
satisfaopositivo.
Com este projecto pudemos verificar na prtica o que andamos a falar e a
discutir acerca de protocolos. O protocolo criado at ser publicado encontrase num
estadoproprietrio.Ofactodenotermosinteractividadecomoutrasaplicaesdo
mesmotipoassimorevela.
Pensamos que no futuro estas plataformas possam ser facultadas aos alunos
para que estas venham a evoluir. Este um projecto que pode ter continuidade ao
longodosanos,tantocomoapoiodeoutroscursos,SIS,ondeestespodemaplicaros
seus conhecimentos e em conjunto com RCT se possam de facto implementar estes
protocolosdecomunicao,acesdesegurana,eoutros.
Apesar das situaes de constrangimento que nos deparamos retiramos um
saldopositivo,estassosituaesecasosquesaexperinciaeconstanteevoluo
podemmelhorar.
11
3 Ano RCT Projecto CHAT ROOM