Workshop: Deploy descomplicado de aplicações em VPS 🚀

Como usar sockets em servidor PHP

Publicado em 05/07/2018

Atualizado em 03/06/2024
servidor php

O PHP fez aniversário há poucas semanas, mas aqui na KingHost ainda é tempo de homenagear uma das linguagens mais usadas no mundo. Hoje vou exemplificar como usar sockets em servidor PHP de uma forma simples.

Existem diversas formas de se fazer um servidor web, porém muita gente subestima o poder do PHP. Ainda que seja limitada quando comparada às outras alternativas, a simplicidade da implementação é algo a ser considerado.

Basta você abrir um socket e já tem uma possibilidade de conexão.

O que são sockets?

Um socket é basicamente o “fim da linha” para um fluxo de dados. Esse “fim da linha” tem um endereço, que é a combinação de um endereço IP com uma porta de entrada do servidor (ou cliente).

Podemos exemplificar isso com uma analogia.

Por exemplo, imagine que você tem que chegar em algum lugar e escolhe o transporte público como meio de locomoção. Você vai até o ponto (que nesse caso é o socket), e espera seu ônibus (a conexão). Nessa situação você seria o fluxo de dados, ou os pacotes, por exemplo.

Outra maneira é imaginar uma ligação telefônica, onde o telefone é o socket, a voz os dados, a linha a conexão e o número o endereço.

Como utilizar sockets em servidor php?

Agora que você já entendeu, vamos à prática, por partes:

A primeira coisa a se fazer é criar um socket utilizando os protocolos desejados. Nesse caso estamos definindo que será uma conexão síncrona TCP utilizando IPV4.

socket 1

O próximo passo é atribuir o endereço em que o socket está sendo aberto. Lembrando que se a porta escolhida já estiver sendo usada, não vai funcionar.

socket 2

Agora nós fazemos com que o socket espere uma conexão:

socket 3

Assim que receber uma conexão, é necessário aceitá-la, para que possam ser feitas requisições. Após isso, a requisição (neste caso, o que estiver no endereço) é lida. Dependendo se os arquivos existirem ou não, são retornadas as respectivas mensagens do servidor (200 para sucesso e 404 caso não exista o arquivo) e a página é apresentada ou aparece a mensagem de erro.

socket 4

Logo após isso gravamos o buffer no socket e encerramos a conexão, e fazemos com que isso se torne um loop para que continue sendo possível realizar requisições.

socket 5

Conclusão Sockets em Servidor PHP

Pessoal, este foi um exemplo simples que mostra como pode ser fácil tratar conexões utilizando sockets, além de ser um bom exercício para praticar. (Sei que você veio até aqui por causa daquele trabalho da faculdade, né! 😉 )

Por hoje era isso pessoa! Espero que essa linguagem que basicamente “roda” a Internet continue esse caminho de evolução que vem tendo nesses 23 anos de história. E, claro, que seja cada vez mais versátil, mais útil e mais robusta.

Quer ler mais conteúdos sobre PHP? Se liga no Blog da KingHost.

O que você achou deste conteúdo?

O que você achou deste conteúdo?

Gabriel
Gabriel Henriques
Estudante de Análise e Desenvolvimento de Sistemas, entusiasta de tecnologia e apaixonado por ciências.
Gabriel
Gabriel Henriques
Estudante de Análise e Desenvolvimento de Sistemas, entusiasta de tecnologia e apaixonado por ciências.

Compartilhe esse conteúdo com alguém que possa gostar também

Receba todo mês conteúdos
incríveis como esses para
seguir evoluindo

Conteúdos relacionados

O Kubernetes é uma plataforma de orquestração de containers que automatiza a implantação, escalabilidade e gerenciamento de aplicações. Ele garante alta disponibilidade, balanceamento de carga e recuperação automática de falhas. O Kubernetes é uma das principais tecnologias utilizadas atualmente para gerenciar aplicações modernas baseadas em containers. Em ambientes digitais cada vez mais escaláveis, empresas precisam...
A conteinerização é uma forma de empacotar aplicações junto com todas as suas dependências em unidades isoladas chamadas containers. Esses containers podem ser executados de maneira consistente em diferentes ambientes computacionais, desde o computador de um desenvolvedor até servidores em nuvem. A complexidade do deploy de aplicações aumentou bastante com a evolução da arquitetura de...
Ferramentas anti-DDoS são fundamentais porque analisam padrões de comportamento do tráfego, separando acessos legítimos de tentativas automatizadas de sobrecarga. Quando um comportamento anômalo é detectado, o sistema aplica medidas de mitigação, como bloqueio de IPs suspeitos ou redirecionamento de tráfego. Plataformas digitais, e-commerces, aplicações SaaS e sites corporativos dependem de acesso contínuo para manter operações,...
Diferentemente de um servidor web tradicional, que se concentra na entrega de conteúdo estático, o servidor de aplicação executa regras complexas, controla transações e gerencia componentes que sustentam sistemas corporativos. Um dos grandes desafios à medida que o seu negócio cresce é adaptar as suas ferramentas à lógica da sua operação. O servidor de aplicação,...

Mensagens para você