O que é um socket em Java?

Escrito por g.s. jackson | Traduzido por yaakov ben levy
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
O que é um socket em Java?
O Java usa sockets para monitorar o tráfego de seu site web (Hemera Technologies/AbleStock.com/Getty Images)

A linguagem de programação Java é uma linguagem diversa, multiplataforma e orientada a objetos. Tal linguagem pode trabalhar em múltiplos sistemas operacionais, aumentando seu alcance de tarefas, tais como programação de sistemas, desenvolvimento de jogos e gerenciamento de redes. Também serve como plataforma para desenvolvimento de programas que estabelecem conexões com servidores e recebem o tráfego de conexões através de sub-rotinas, conhecidas por "sockets".

Outras pessoas estão lendo

Sockets TCP/IP

Enquanto a maioria dos usuários tem alguma familiaridade sobre como a comunicação funciona na Web, muitos pensam em termos de programação e navegação de alto nível, como por exemplo a URL. O protocolo TCP/IP trabalha com um nível mais baixo que tais mecanismos, próximo a linguagem de redes do hardware. Essencialmente, o TCP/IP funciona em duas etapas: o aspecto do IP controla como os dados trafegam pela rede em blocos discretos chamados de "packets" (pacotes). O TCP determina a validade desses pacotes verificando a corrupção dos dados. As sub-rotinas de muitos computadores que recebem essas transmissões são chamadas de "sockets".

Sockets e Java

Para poder manipular a vinda e ida de dados usando sockets, o Java inclui uma biblioteca chamada "java.net.socket". Programas que manipulam o tráfego da rede utilizam sockets para gerenciar conexões entre servidores e clientes. Quando um cliente faz um pedido de conexão a um servidor, ele envia sua informação e, se a conexão for aceita, ambos, cliente e servidor, irão criar sockets que gerenciarão a transmissão de dados entre os computadores. Os sockets não são necessários para lidar com conexões com páginas da Web, mesmo assim, eles são responsáveis pela estrutura básica de comunicação nas rede, tornando possível as conexões pela Internet.

Declarando e abrindo uma conexão via Socket

Sockets são criados em Java através de um acesso ao objeto Socket, na biblioteca java.net.library. O programador deverá importar a biblioteca Java e instanciar um objeto socket para usar como conexão. O programador poderá usar o socket para abrir uma conexão associando-a a um endereço de IP/URL com um número de porta. Por exemplo, o seguinte código demonstra a criação de um objeto Socket, com especificação de argumentos para conectá-lo a uma porta específica, em um URL específico:

import java.net.*

public class ExampleSocket {

public static void main (String args[]) {

Socket newSocket; newSocket = new Socket("www.example.com", 7); //O primeiro argumento é o URL, o segundo é a porta } }

Sockets de Servidor

O socket do servidor dá um listen ("ouvir", espera por uma conexão ou um recebimento de algum pedido) à uma porta específica ao invés de criar uma conexão com um outro servidor. O programador instancia o socket do servidor da mesma forma que ele faz com um socket típico, mas apenas especifica a porta que será ouvida. Essa porta deverá ser uma que nenhum outro programa deverá utilizar no futuro (isso depende da configuração do sistema). Um programador chama o método "accept()" ao objeto, o qual dará um listen, até que uma nova conexão seja feita e estabelecida, retornando ao objeto Socket que manterá a conexão criada.

public static void main(String args[]){

server = new ServerSocket(8888); newSocket = server.accept(); }

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível