Definição – o que significa Socket?
Um soquete é um objeto de software que atua como um ponto final, estabelecendo um link de comunicação de rede bidirecional entre um programa do lado do servidor e um do lado do cliente.
No UNIX, um soquete também pode ser referido como um ponto de extremidade para comunicação entre processos (IPC) dentro do sistema operacional (OS).
Em Java, as classes de soquete representam a comunicação entre programas cliente e servidor. As classes de soquete tratam da comunicação do lado do cliente e as classes de soquete do servidor tratam da comunicação do lado do servidor.
Definirtec explica Socket
Principalmente os URLs e suas conexões são usados para acessar a Internet, mas às vezes os programas requerem um link de comunicação simples entre o cliente do programa e o servidor. Esta função seria associada a um socket que ligaria os lados do cliente e do servidor do programa.
Quando um cliente estabelece comunicação com o servidor, por exemplo, consultando o banco de dados, uma conexão confiável de servidor e cliente é estabelecida por meio de um canal de comunicação TCP. Nesse tipo de comunicação, o cliente e o servidor podem ler ou escrever em sockets vinculados a um canal de comunicação específico.
Os soquetes são classificados principalmente em dois tipos: ativos e passivos. Os soquetes ativos são conectados aos soquetes ativos remotos por meio de uma conexão de dados aberta. Se esta conexão for fechada, os soquetes ativos em cada ponto final serão destruídos. Soquetes passivos não estão conectados; em vez disso, eles esperam por uma conexão de entrada que irá gerar um novo soquete ativo.
Embora exista uma relação próxima entre um soquete e uma porta, o soquete não é realmente uma porta. Cada porta pode ter um único soquete passivo esperando por conexões de entrada e vários soquetes ativos, cada um respectivo a uma conexão aberta na porta.