

Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Lista de exercícios do curso de fundamentos de redes de computadores da universidade federal de ouro preto (ufop), onde é abordada a implementação de sockets em sistemas cliente-servidor usando a biblioteca windows sockets dll (winsock).
Tipologia: Manuais, Projetos, Pesquisas
1 / 3
Esta página não é visível na pré-visualização
Não perca as partes importantes!


Carlos Alberto Miranda Ferreira
(^1) Instituto de Ciˆencias Exatas e Aplicadas – Universidade Federal de Ouro Preto (UFOP) Departamento de Computac¸ ˜ao e Sistemas – DECSI Jo˜ao Monlevade, MG - Brasil
{carlos.miranda}@aluno.ufop.edu.br
Abstract. This is an exercise list (01) of the Computer Networks Fundamentals course of the Information Systems course, taught by professor Bruno Pereira dos Santos.
Resumo. Esta ´e uma lista de exerc´ıcio (01) da mat´eria de Fundamentos de Redes de Computadores do curso de Sistemas de informac¸ ˜ao, ministrado pelo docente Bruno Pereira dos Santos
O c´odigo realiza a comunicac¸ ˜ao entre cliente e servidor, onde um abre conex˜ao e aguarda para ser ”ouvido” pela requisic¸ ˜ao do outro, e assim, poder ”responder” essa requisic¸ ˜ao.
O c´odigo do servidor cria um socket, obt´em a porta do host a ser utilizado, associa essa porta ao socket criado e ativa o servic¸o de ”escuta”. Uma das func¸ ˜oes ´e verificar se o protocolo a ser utilizado ´e UDP ou TCP.
J´a o c´odigo do cliente tamb´em cria o socket, obt´em a porta a ser utilizada pelo host e tenta se comunicar com o servidor. No caso de resposta positiva, ocorre atrav´es do canal de comunicac¸ ˜ao pelo m´etodo simplex/half-simples/full-duplex a troca de dados. Se n˜ao houver resposta, a comunicac¸ ˜ao pode ser fechada.
Quando terminar o processo de comunicac¸ ˜ao, ´e necess´ario que se encerre a conex˜ao.
O objetivo desse t´opico ´e esclarecer um pouco sobre algumas das principais func¸ ˜oes que foram utilizadas na implementac¸ ˜ao em s´ı, tanto do servidor quanto do cliente. A func¸ ˜ao WSAStartup() inicia o Windows Sockets Dynamic Link (WinSock DLL). Ela tamb´em ´e usada para confirma a vers˜ao do WinSock DLL.
A func¸ ˜ao socket() inicializa o socket para ser utilizado pelo cliente e servidor. A func¸ ˜ao bind() vincula o IP ao socket criado, como uma maneira de enderec¸ ´a-lo. A func¸ ˜ao listen() coloca o socket para escutar as poss´ıveis conex˜oes. Seria como ligar o socket, agora ele pode receber mensagens de conex˜oes dos clientes.
A func¸ ˜ao accept() tem o papel de aceitar a mensagem quando requisitada (se todos os parˆametros forem requisitados com sucesso).
A func¸ ˜ao recv() recebe os dados, ou seja, recebe a mensagem a ser transmitida.
3.1. Funcionamento esperado
E apresentado a seguir uma tela com dois execut´^ ´ aveis, onde o que est´a a esquerda ´e a imagem do servidor e posteriormentea direita, a imagem do cliente em um caso de funcionamento.
Figure 1. Servidor e Cliente se comunicando
3.2. Funcionamento n˜ao esperado
E apresentado a seguir uma tela com os dois execut´^ ´ aveis, onde a imagem do cliente se encontra em um caso de erro de conex˜ao por divergˆencias das portas.
Figure 2. Servidor e Cliente com erro de conex ˜ao