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

Tudo Sobre Soquetes

Seminário: Tudo Sobre Soquetes. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  5/12/2013  •  Seminário  •  4.302 Palavras (18 Páginas)  •  504 Visualizações

Página 1 de 18

Lição: Tudo Sobre Sockets

URL s e URLConnection s fornecer um mecanismo relativamente de alto nível para acessar recursos na Internet. Às vezes, seus programas exigem comunicação de rede de baixo nível, por exemplo, quando você quer escrever uma aplicação cliente-servidor.

Em aplicações cliente-servidor, o servidor fornece alguns serviços, tais como processamento de consultas do banco de dados ou enviar os preços das ações atuais. O cliente utiliza o serviço prestado pelo servidor, quer exibindo os resultados da consulta de banco de dados para o usuário ou fazer recomendações de compra de ações a um investidor. A comunicação que ocorre entre o cliente eo servidor deve ser confiável. Ou seja, os dados não podem ser descartadas e devem chegar no lado do cliente na mesma ordem em que o servidor enviou.

TCP fornece um ponto-a-ponto canal de comunicação confiável que aplicações cliente-servidor sobre o uso da internet para se comunicar uns com os outros. Para se comunicar através de TCP, um programa cliente e um programa servidor de estabelecer uma conexão com o outro. Cada programa se liga uma tomada até o fim da ligação.Para se comunicar, o cliente eo servidor de cada um lê e escreve para o socket vinculado à ligação.

O que é um Socket?

Um socket é um ponto final de um link de comunicação de duas vias entre dois programas em execução na rede. Tomada aulas são usados para representar a ligação entre um cliente e um programa de programa do servidor. O pacote java.net oferece duas classes - Socket e ServerSocket - que implementam o lado do cliente da conexão e do lado do servidor da conexão, respectivamente.

Leitura e gravação de um Socket

Esta página contém um pequeno exemplo que ilustra como um programa cliente pode ler e escrever em um soquete.

Escrever um par cliente / servidor

A página anterior mostrou um exemplo de como escrever um programa cliente que interage com um servidor existente através de um objeto Socket. Esta página mostra-lhe como escrever um programa que implementa o outro lado da conexão - um programa servidor.

O que é um Socket?

Normalmente, um servidor é executado em um computador específico e tem um soquete que está vinculado a um número de porta específico. O servidor apenas espera, ouvindo a tomada de um cliente para fazer um pedido de conexão.

No lado do cliente: O cliente sabe o nome da máquina na qual o servidor está sendo executado eo número da porta na qual o servidor está escutando. Para fazer uma solicitação de conexão, o cliente tenta encontro com o servidor na máquina e porta do servidor. O cliente também tem de identificar-se para o servidor, de modo que se liga a um número de porta local que irá utilizar durante esta ligação. Isto é geralmente designado pelo sistema.

Se tudo correr bem, o servidor aceita a conexão. Após a aceitação, o servidor recebe um novo soquete vinculado à mesma porta local e também tem o seu ponto de extremidade remoto definida para o endereço e porta do cliente. Ela precisa de um novo socket para que possa continuar a ouvir o soquete original para solicitações de conexão enquanto atendendo às necessidades do cliente conectado.

No lado do cliente, se a conexão for aceita, um soquete é criado com sucesso e que o cliente pode usar o soquete para se comunicar com o servidor.

O cliente eo servidor podem agora comunicar-se por escrever ou ler a partir de suas bases.

________________________________________

Definição:

A tomada é um ponto final de um link de comunicação de duas vias entre dois programas em execução na rede. Um casquilho é ligado a um número de porta de modo que a camada de TCP pode identificar a aplicação de dados que se destina a ser enviado.

________________________________________

Um endpoint é uma combinação de um endereço IP e um número de porta. Cada conexão TCP pode ser identificada exclusivamente por seus dois terminais. Dessa forma, você pode ter várias conexões entre o anfitrião eo servidor.

O java.net pacote na plataforma Java fornece uma classe, soquete , que implementa um lado de uma conexão bidirecional entre seu programa Java e outro programa na rede. O soquete classe fica no topo de uma implementação dependente de plataforma, escondendo os detalhes de qualquer sistema particular de seu programa Java. Ao utilizar o java.net.Socket classe em vez de confiar em código nativo, os programas Java podem se comunicar através da rede de uma forma independente de plataforma.

Além disso, java.net inclui o ServerSocket classe, que implementa um soquete que os servidores podem utilizar para ouvir e aceitar conexões de clientes. Esta lição mostra como usar o soquete e ServerSocket aulas.

Se você está tentando se conectar à Web, o URL de classe e classes relacionadas ( URLConnection , URLEncoder ) são provavelmente mais apropriado do que as classes de soquete. Na verdade, URLs são uma conexão relativamente de alto nível para as tomadas de Web e usar como parte da implementação subjacente. Consulte Trabalhando com URLs para obter informações sobre a conexão com a Web via URLs.

Leitura e gravação de um Socket

Vejamos um exemplo simples que ilustra como um programa pode estabelecer uma conexão com um programa de servidor usando o soquete classe e, em seguida, como o cliente pode enviar dados e receber dados do servidor através do socket.

O programa de exemplo implementa um cliente, EchoClient , que se conecta ao servidor de eco. O servidor de eco simplesmente recebe os dados de seu cliente e ecoa de volta. O servidor de eco é um serviço bem conhecido que os clientes podem encontrar-se com a porta 7.

EchoClient cria um socket obtendo assim uma conexão com o servidor de eco. Ele lê a entrada do usuário no fluxo de entrada padrão, e em seguida, encaminha o texto para o servidor de eco por escrever o texto para o socket. O servidor ecoa nas costas entrada através do socket para o cliente. O programa cliente lê e exibe os dados passados de volta a ela a partir do servidor:

import java.io. *;

import java.net *.;

public class EchoClient {

public static void main (String []

...

Baixar como (para membros premium)  txt (25.7 Kb)  
Continuar por mais 17 páginas »
Disponível apenas no TrabalhosGratuitos.com