normalmente, um servidor é executado em um computador específico e tem um socket que está ligado a um número de porta específico. O servidor apenas espera, ouvindo o socket para que um cliente faça um pedido de conexão.
no lado do cliente: o cliente conhece o nome da máquina em que o servidor está a correr e o número de porta em que o servidor está a ouvir. Para fazer um pedido de conexão, o cliente tenta se encontrar com o servidor na máquina e porta do servidor., O cliente também precisa se identificar com o servidor para que ele se vincule a um número de porta local que ele vai usar durante esta conexão. Isto é geralmente atribuído pelo sistema.
Se tudo correr bem, o servidor aceita a conexão. Após a aceitação, o servidor recebe um novo socket ligado à mesma porta local e também tem seu ponto final remoto definido para o endereço e porta do cliente., Ele precisa de um novo socket para que ele possa continuar a ouvir o socket original para pedidos de conexão, enquanto atende às necessidades do cliente conectado.
No lado do cliente, se a conexão é aceita, um socket é criado com êxito e o cliente pode utilizar o socket para comunicação com o servidor.
o cliente e o servidor podem agora comunicar-se escrevendo para ou lendo a partir dos seus ‘sockets’.,
um socket é um endpoint de um link de comunicação bidirecional entre dois programas rodando na rede. Um socket Está ligado a um número de porta para que a camada TCP possa identificar a aplicação para a qual os dados estão destinados a ser enviados.
um endpoint é uma combinação de um endereço IP e um número de porta. Cada conexão TCP pode ser identificada de forma única por seus dois pontos finais. Dessa forma você pode ter múltiplas conexões entre seu host e o servidor.,
java.net
pacote na plataforma Java fornece uma classe, Socket
, que implementa um lado de uma via de ligação entre o programa de Java e de outro programa na rede. A classe Socket
situa-se no topo de uma implementação dependente da plataforma, escondendo os detalhes de qualquer sistema em particular do seu programa Java. Usando a classe java.net.Socket
em vez de depender do código nativo, seus programas Java podem se comunicar através da rede de uma forma independente da plataforma.,
adicionalmente, java.net
inclui a classe ServerSocket
, que implementa um socket que os servidores podem usar para ouvir e aceitar conexões para clientes. Esta lição mostra como usar as classes Socket
e ServerSocket
.
Se você está tentando se conectar à Web, URL
classe e classes relacionadas (URLConnection
URLEncoder
), provavelmente são mais apropriadas do que as classes de soquete., Na verdade, URLs são uma conexão de nível relativamente alto para a Web e usar sockets como parte da implementação subjacente. Consulte Trabalhar com URLs para obter informações sobre a ligação à Web através de URLs.