TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Redes de Computadores

Por:   •  30/4/2016  •  Relatório de pesquisa  •  709 Palavras (3 Páginas)  •  260 Visualizações

Página 1 de 3

Jessica Priscila da Silva 21060312

Rodrigo Amador Medeiros Magalhães 11058111

Sockets UDP

É possível definir socket com sendo o intermédio entre o cliente e o servidor. Através dele é possível que o processo envie e receba mensagens.

Um dos tipos de protocolos usados para serviço de transporte via socket, é o UDP, que utiliza datagramas não confiáveis.

  • Executar cliente antes do servidor

Se o cliente for executado antes do servidor, o mesmo não receberá nenhuma resposta do servidor, ainda que ele seja conectado depois.

Isso acontece porque o servidor recebe o pedido do cliente, analisa e manda uma resposta. Se o cliente é executado antes, não tem como o servidor receber a mensagem.

Um servidor deve rodar “para sempre”, enquanto o cliente pode apenas fazer uma solicitação e “desligar-se”.

Altere as portas do servidor e cliente. O que acontece se as portas forem diferentes?

  • Executar cliente e servidor com portas diferentes

Se cliente e o servidor estiverem com portas diferentes, o cliente não receberá nenhuma resposta do servidor e vice-e-versa.

  • Enviar mais de uma mensagem do usuário para o servidor

Para enviar mais de uma mensagem do usuário, não é necessário modificar o servidor, pois as mensagens estão sendo enviadas pelo cliente sem haja intervenção do mesmo.

  • Servidor não responde a um usuário indesejado

É possível modificar o programa para que o servidor não responda a um usuário indesejado.

O servidor precisará ter uma lista dos IP’s que não responderá, como mostra o código abaixo:

package socketudp;

// created on 29/09/2010 at 22:33

import java.io.*;

import java.net.*;

class UDPServer {

    public static void main(String args[]) throws Exception {

        DatagramSocket serverSocket = new DatagramSocket(9876);

        byte[] receiveData = new byte[1024];

        byte[] sendData = new byte[1024];

        //LEVAR EM CONSIDERAÇÃO UM VETOR COM CASOS JÁ EXISTENTES

        InetAddress A[] = new InetAddress[50];

        boolean acesso = false;

        while (true) {

            DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);

            System.out.println("Servidor aguardando...");

            serverSocket.receive(receivePacket);

            String sentence = new String(receivePacket.getData());

            System.out.println("Mensagem recebida: " + sentence);

            InetAddress IPAddress = receivePacket.getAddress();

            for (int i = 0; i < 50; i++) {

                if (A[i] == IPAddress) {

...

Baixar como (para membros premium)  txt (3.4 Kb)   pdf (108.9 Kb)   docx (10.4 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com