Buscar

aps-chat Ciência da Computação

Prévia do material em texto

Elissandra Machado Neves ​ ​R.A: C58BEF-8 
Isabela Sousa de Souza R.A: C65865-0 
 Gabriel Carvalho de Souza R.A: D070BE-3 
 
 
 
 
 
 
 
 
 
 
 
 
FERRAMENTA PARA COMUNICAÇÃO EM REDE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANAUS/AMAZONAS 
2018 
Elissandra Machado Neves ​ ​R.A: C58BEF-8 
Isabela Sousa de Souza R.A: C65865-0 
Gabriel Carvalho de Souza R.A: D070BE-3 
 
 
 
 
 
 
 
 
 
 
 
 
FERRAMENTA PARA COMUNICAÇÃO EM REDE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANAUS/AMAZONAS 
2018 
 
 
 
 
 
 
SUMÁRIO 
SUMÁRIO 2 
1. OBJETIVO 3 
2. INTRODUÇÃO 4 
3. FUNDAMENTOS DA COMUNICAÇÃO DE DADOS EM REDE 5 
3.1. Topologia da Rede 6 
4. PLANO DE DESENVOLVIMENTO DO CHAT 7 
5. PROJETO 8 
5.1. Nome do Projeto 8 
5.2. Objetivo Geral 8 
5.3. Objetivo Específico 8 
5.4. Contexto 8 
5.5. Justificativa 9 
6. CONCLUSÃO 10 
7. RELATÓRIO COM AS LINHAS DO CÓDIGO 11 
7.1. Classe/Controller: chat.js 11 
7.2. Classe/routes: routes.js 12 
8. REFERÊNCIAS BIBLIOGRÁFICAS 13 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1. OBJETIVO 
 
A Comunicação em rede refere-se à transferência eletrônica de informações, 
comunicação mediada por um computador ou periférico. Para isso é necessário o 
desenvolvimento de um software para a comunicação em si, para que haja a troca 
de informação entre os dois (ou mais) dispositivos, com o surgimento das novas 
tecnologias, muito tem facilitado à informação circular livremente, emitida de 
diversas maneiras. 
Um ponto importante no que se diz respeito à rede de comunicação é a 
definição da maneira como os diferentes dispositivos são interligados. Estes 
dispositivos podem ser interconectados sob várias formas, tanto do ponto de vista 
físico quanto do ponto de vista lógico. 
Essa nova tecnologia, modifica profundamente o conceito de tempo e espaço, 
a mesma faz com que encurtemos muito o caminho que leva a determinadas 
atividades. No passado, a comunicação era feita através de cartas, mas que com o 
advento da tecnologia, trouxe mais comodidade. É possível morar em um lugar 
isolado e estar sempre ligado a grandes centros de pesquisa, bibliotecas, colegas de 
trabalho e a inúmeros serviços. 
Já existem funcionários que trabalham sem sair de casa, já que é possível 
realizar o acesso de qualquer lugar do mundo, dependendo do acesso. O Software 
desenvolvido mostra como a troca de informações entre dois dispositivos acontece 
de forma instantânea. Para isso foi necessário a criação de um pequeno servidor em 
um dos dispositivos para que a comunicação seja executada; tudo através de um 
código simples em NodeJS. A topologia mais simples é representada por dois 
computadores conectados entre si, utilizando um meio de transmissão qualquer, 
sendo chamada então de ligação ponto-a-ponto. 
Na medida em que a transmissão de informação passou contar com novos 
modos de geração, interconexão e compartilhamento. Aumentaram o crescimento de 
vários recursos interessantes de comunicação e absorção do conhecimento. Que 
 
 
 
 
 
muitas vezes era de difícil acesso e muito caros agora se tornou completamente 
disponível no mundo virtual. 
A interface apresentada aos usuários é simples, porém apresenta agilidade, 
mesmo em conexões mais lentas, tornando-se ideal em locais com conexão mais 
limitadas. 
Atualmente, as pessoas estão cada vez mais conectadas ao redor do mundo, 
tudo através de acesso a internet. Isso permite a troca de mensagens em tempo 
real, videos-chamadas, entre outros benefícios. Por isso, estaremos construindo um 
“chat” em NodeJS utilizando WebSocket para que as pessoas possam se conectar e 
conversar com um parente distante, por exemplo. 
Este chat será espelhado em grandes projetos que existem no mundo, 
podendo enviar áudio, foto, arquivos, entre outros. Muitas pessoas utilizam o 
“whatsapp”, por exemplo, para trocar mensagens instantãnea com várias pessoas ao 
redor do mundo, com isso a ideia é utilizar esse chat em nível acadêmico, com um 
modelo mais simples e funcional para que façamos a troca de mensagens entre dois 
computadores conectados na mesma rede, no caso o “WIFI”. Utilizando recursos da 
Linguagem de Programação NodeJS para levar esse projeto ao nosso objetivo. 
O público alvo é praticamente jovem na faixa etária de 14 anos acima, com 
permissão dos pais até aos mais idosos, queiram utilizar esse projeto para que se 
comunicar, adaptamos esse projeto com uma interface bastante diferente e simples, 
que pode até ser utilizado como projeto de estudo em escolas de programação na 
criação de um programa que se comunica em rede. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2. INTRODUÇÃO 
 
Onde a tecnologia vai parar? Então... Ela não vai parar, devido diversas 
formas de conectarmos que facilitam nossas vidas. Com o avanço da comunicação, 
a forma com que os sistemas computacionais operavam foi totalmente modificada, a 
visão que os usuários tinham sobre os grandes centros de computação, em que os 
trabalhos eram levados para serem processados, tornou-se obsoleta, sendo 
substituídos pelas redes de computadores. Agora, os trabalhos são processados por 
um grande número de computadores separados fisicamente e totalmente 
interligados. 
Quem diria que chegaríamos onde estamos hoje? Nos primórdios 
tecnológicos era muito difícil alguém ter acesso a um computador, nas 
universidades, e empresas havia um ou dois, no máximo, mas sem nenhuma ligação 
entre eles, totalmente desconectados. Na maioria dos casos em que as empresas 
implantam em sua estrutura uma rede de computadores, elas sempre obtêm 
economia com o compartilhamento de recursos. Como exemplo, imagine a situação 
em que existem várias impressoras individuais, sendo estas substituídas por uma 
única impressora de grande porte, com essa troca, a manutenção é facilitada, 
permite o acesso de um número maior de usuários, além de possibilitar o controle do 
número de impressões. 
Antigamente, a conexão entre os computadores compartilhados era muito 
curta, conhecidas como rede local, observou-se então que era necessário aumentar 
a distância entre eles devido a necessidade de compartilhamento de dados, então 
foram desenvolvidas diversas formas de conectarem essas máquinas entre si. 
A internet também é um meio de comunicação em massa, e pode conectar 
muitas redes de computadores sem que seja necessário um fio ou cabo, assim, 
possibilitando uma acessibilidade melhor, e uma locomoção ampla aos usuários que 
compartilham desse recurso. E ao que tudo indica a tecnologia só tem a evoluir. 
Hoje, não é preciso estar em casa para enviar e-mails, basta ter um smartphone ou 
um tablet com acesso à internet. Facilitando ainda mais a conexão com o mundo. 
.3. FUNDAMENTOS DA COMUNICAÇÃO DE DADOS EM REDE 
 
Atualmente, as empresas possuem um grande número de computadores para 
desempenhar os mais diversos tipos de aplicações, como monitoramento, controle 
de produção e estoque, geração de planilhas e etc. Inicialmente, cada processo era 
feito de modo isolado, não existia nenhuma forma de ligação e troca de informações 
e compartilhamento de recursos. Foi observado então, que com a interligação 
desses computadores espalhados pelas empresas, era possível comunicar os mais 
diversos sistemas, além de compartilhar recursos como impressoras, arquivos e 
drives, o que permite que todos os usuários da rede utilizem esses recursos. 
Tão importante quanto o compartilhamento de recursos é o compartilhamento 
de informações. As grandes instituições possuem filiais espalhadas por regiões 
diferentes e precisam acessar informações que são comuns a todas, como registro 
de clientes, estoque de produtos, pedidos, etc. O fato de os usuários estarem em 
países diferentes, não impede que eles acessem esses dados como se eles 
estivessem armazenados em seu computador local. Para permitir esta facilidade de 
acesso, são utilizados servidores de grande porte para o armazenamento de 
informações e os usuários, com suas estações de trabalho, acessam esses dados 
remotamente. Essa comunicação entre computadores clientes e servidores é feita 
através das redes de computadores. 
Outra categoria 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. A 
troca de mensagens instantâneas como Facebook Messenger, WhatsApp, Telegram 
virou uma febre entre os jovens, as salas de bate-papo são muito visitadas por 
pessoas que desejam discutir assuntos em comum. Essa interatividade entre os 
usuários, proporcionada pela grande rede de computadores é que faz da internet um 
sucesso. 
As redes de computadores tornaram-se extremamente importantes para as 
pessoas que se encontram em regiões distantes, pois propiciam a elas serviços que 
 
 
 
 
 
são oferecidos às pessoas das grandes cidades, e sem dúvida a diversidade do uso 
das redes de computadores crescerá rapidamente no futuro, e chegará onde 
ninguém é capaz de prever agora. 
 
3.1. Topologia da Rede 
 
A maneira com que as redes de computadores são interligadas é um ponto 
importante, pois dispositivos podem ser interconectados de várias formas 
envolvendo tanto o ponto de vista físico, como o lógico. A topologia física refere-se 
ao layout físico e ao meio de conexão dos dispositivos de redes. A topologia lógica é 
a forma com que os computadores se comunicam através dos meios de 
transmissão. 
Ponto a Ponto: é a mais simples, conexão de dois computadores através de 
um meio de transmissão qualquer. 
Barramento: Vários computadores interligados ao mesmo tempo, podendo ser 
compartilhados arquivos, informações e dados entre eles. Podendo assim todos 
terem acesso aos outros computadores. 
Estrela: É a conexão de diversos dispositivos monitorados por um servidor 
central, onde essa unidade determina a velocidade de transmissão entre um e outro, 
qualquer falha ocorrida nesse servidor central acarretara na falha de todos os 
computadores ligados a ele. Na topologia estrela, tudo vai depender da unidade 
central. 
Árvore: É equivalente a várias redes estrelas interligada entre si, essa ligação 
é feita através dos seus computadores centrais. É utilizada principalmente na ligação 
de “Hub`s” e repetidores, conhecida também como cascateamento. 
Nas topologias logicas a Ethernet é a tecnologia mais utilizada em redes 
locais, ela pode ser encontrada em topologias do tipo estrela que é composta por 
ligações utilizando cabeamento par trançado e uma unidade central e em topologias 
do tipo barramento com a utilização de cabo coaxial (possui maior velocidade, e 
pode atingir maiores distancias). 
 
 
 
 
 
Nesse tipo de rede, a estação que deseja transmitir “ouve” o tráfego na rede, 
se não “ouvir” nada, ela transmite a informação. Se duas estações transmitirem 
informações ao mesmo tempo, ocorrerá uma colisão de pacotes, cada estação será 
alertada sobre a colisão e elas esperarão um período aleatório para transmitirem 
novamente. 
 
 
 
 
 
 
 
4. PLANO DE DESENVOLVIMENTO DO CHAT 
 
O plano de desenvolvimento deste projeto se iniciou por volta de 30/03/2018, 
com a ideia de criação de um chat com o tema ênfase em comunicação em rede 
(para fazer com que troquem mensagens em momentos vagos). Os primeiros 
passos foram dados, discutindo sobre quais classes o chat deveria ter. O que 
abordaríamos? Qual o “layout” usar? Quais funções? E se funcionaria para ser 
usado para comunicação e o público alvo desta aplicação. Assim chegamos ao 
consenso de readaptar os já famosos “chat” e por fim iniciamos o nosso 
planejamento. 
As ferramentas usadas foram: UML (Unified Modeling Language) para 
modelar as classes do chat, organizando as ideias no padrão de classe de uso e a 
IDE Visual Studio Code que foi usada para transcrever as classes modeladas com 
UML em códigos NodeJS e assim sendo, conseguimos construir todas as classes do 
jogo e corrigindo devidos erros no processo de desenvolvimento. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5. PROJETO 
 
5.1. Nome do Projeto 
 
 “Chat usando WebSocket”, voltado para comunicação em rede. 
 
5.2. Objetivo Geral 
 
O mundo atualmente está cada vez mais moderno. Muitos utilizam a internet 
para todos os tipos de serviço, sejam para hospedar site, sejam para salvar arquivos 
em nuvens até mesmo trocar mensagens, com videos-chamadas em tempo real. 
Sendo assim, o projeto deste chat é desenvolvido com ênfase na comunicação em 
rede, tendo uma perspectiva de atingir grande números de usuários em curto prazo 
de tempo. 
 
5.3. Objetivo Específico 
 
Tendo como objetivo principal a comunicação em rede, o projeto foi 
desenvolvido simplesmente para mostrar uma maneira simplificada sobre o tema, 
enquanto o usuário está se divertindo colocando conversas em dia, enviando 
arquivos, áudios, ainda aprendem sobre a importância de um mundo conectado na 
internet. 
O aprendizado será adquirido gradualmente, a mensagem será captada aos 
poucos, com ajuda da internet para que seja possível enviar mensagens, os 
arquivos, os áudios e podendo ser adaptado para aprendizagem de alunos de 
cursos de tecnologia quando chegarem à fase de fazer aplicação que utilize sockets. 
 
 
 
 
 
 
5.4. Contexto 
 
O projeto tem como meta ser realizado em escolas, em computadores 
pessoais, utilizados para o entretenimento (Passa-Tempo). Com os avanços na 
tecnologia ajudaram as pessoas a conversarem nos confortos de suas casas, com oalto índice de pessoas que utilizam a internet para os mais variados serviços e usos 
do que anos anteriores. 
Com isso, o intuito é alcançar o máximo de pessoas possível, para que as 
pessoas se comuniquem de forma sem necessitar de locomover de um cidade para 
outra, por exemplo. 
Políticas relacionadas para ao desenvolvimento de sistema voltado para a 
comunicação também ajudam em campanhas publicitárias, escolar, centros de 
convivência, praças públicas, palestras em auditórios dos bairros e até em 
propagandas na TV, podendo gerar uma forma para que empreendedores adotem 
cada vez mais a praticidade de criação de chat para que os crescimentos de seus 
negócios sejam exponencial. O chat foi desenvolvido em linguagem NodeJS o que 
pode ser utilizados futuramente em smartphones, tablets, entre outros dispositivos 
móveis. 
 
5.5. Justificativa 
 
Como os avanços tecnológicos são de forma muito rápida e cada vez mais as 
pessoas não necessitam utilizar mecanismos antigos de terem que resolver 
problemas indo na sede da empresa, tendo em vista, o objetivo é tentar ajudar por 
meio da computação, da tecnologia em si, a criação de meios que utilizem a 
comunicação em rede para aperfeiçoar ainda mais as formas de usuários se 
comunicarem, empresas facilitarem o atendimento no que diz respeito a solução de 
problemas e utilização de serviços. A tecnologia está ao lado de cada indivíduo e 
com isso pode ser facilmente alcançado por meio de programas desenvolvido para 
computadores, smartphone, tablets, entre outros. A Internet é bastante utilizadas por 
todos e em todos os lugares e assim com o tema proposto para criação de um chat 
 
 
 
 
 
focado na comunicação, levamos em consideração a criação de um chat que são 
muitos utilizados e famoso pelo redor do mundo e criamos a nossa própria interface 
em nível não muito avançado mais acadêmico que mesmo sendo simples permite a 
comunicação em dois computadores ou mais que poderá ainda mais ser melhorado. 
 
 
 
6. CONCLUSÃO 
 
Podemos pensar em rede de computadores como diversas máquinas 
interligadas fisicamente entre si onde os seus utilizadores promovem a troca de 
informação de seus interesses, já que uma rede não pode ser bem estabelecida 
considerando apenas o hardware como preocupação principal como nas primeiras 
redes, já que o software é considerado uma das partes mais importantes na 
concepção de novas tecnologias de redes de comunicação entre computadores. 
A própria aplicação desenvolvida e apresentada mostra a importância desse 
tipo de software e que com eles, novos são desenvolvidos e aperfeiçoados, 
apresentando novas soluções para o homem moderno, tornando sua vida mais 
prática. 
Quando uma rede de computadores qualquer é construída, existem alguns 
objetivos a serem alcançados. Quando interconectamos computadores eles podem 
processar mais e melhor as informações e, quando as pessoas trabalham em rede, 
concretizam tarefas em um menor espaço de tempo e com menos esforço, ou seja, 
com mais eficiência. 
Utilizar corretamente uma topologia de rede significa proporcionar aos 
usuários uma estrutura com confiabilidade e segurança, necessários para que o 
intercâmbio de informações ocorra satisfatoriamente e que atenda as necessidades 
de comunicação de todos. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7. RELATÓRIO COM AS LINHAS DO CÓDIGO 
 
7.1. Classe/Controller: chat.js 
module.exports.iniciaChat = function(application, req, res) { 
let dadosForm = req.body; 
 
req.assert('apelido', 'Nome ou Apelido é 
obrigatório').notEmpty(); 
req.assert('apelido', 'Nome ou Apelido deve conter entre 3 e 
15 caracteres').len(3, 15); 
 
let errors = req.validationErrors(); 
 
if (errors) { 
//res.send('Existem erros no formulário'); 
res.render('index', {validacao: errors} ); 
return; 
} 
 
// faz pedido para executar alguma ação 
application.get('io').emit('enviaMsgCliente', { apelido: 
dadosForm.apelido, mensagem: ' acabou de entrar no chat'}); 
 
res.render('chat', { dadosForm: dadosForm }); 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7.2. Classe/routes: routes.js 
 
module.exports = function(application) { 
application.post('/chat', function(req, res) { 
//res.render('chat'); 
application.app.controllers.chat.iniciaChat(application, req, res); 
 
}); 
 
application.get('/chat', function(req, res) { 
//res.render('chat'); 
application.app.controllers.chat.iniciaChat(application, req, res); 
}); 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8. REFERÊNCIAS BIBLIOGRÁFICAS 
 
[1] DEITEL, H. M. Java: como programar. 6. ed. Trad. Edson Furmankiewicz. 
São Paulo: Pearson Prentice Hall, 2005. 
[2] History of IRC (Internet Relay Chat) 
[3] pub/academic/communications/logs/Gulf-War 
[4]http://www.devmedia.com.br/como-criar-um-chat-multithread-com-socket-em-java/
33639 
.

Continue navegando