Como usar sockets em 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 (Você pode ler mais sobre os protocolos aqui).

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.

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

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.

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.

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 LAB, o Blog da KingHost.

Resumo
Como Usar Sockets em Servidor PHP
Nome do Artigo
Como Usar Sockets em Servidor PHP
Descrição
Aprenda de forma prática e fácil como utilizar sockets em servidor PHP. Veja um exemplo da aplicação e entenda como fazer.
Autor
Nome
KingHost
Logo

Gabriel Henriques

Suporte em KingHost
Estudante de Análise e Desenvolvimento de Sistemas, entusiasta de tecnologia e apaixonado por ciências.

Últimos posts por Gabriel Henriques (exibir todos)

Comentários

comentário(s)