Sockets em PHP

Postado por: Mounter  ||  Categoria: Linguagens, PHP
Para quem não conhece, os sockets são a única maneira que o software tem de estabelecer uma conexão com outro computador numa rede ou na Internet e aqui irei dar uma breve explicação do seu uso voltado principalmente ao PHP.

No PHP existem vários métodos de acesso a Web, podemos ler arquivos diretamente de servidores FTP ou pegar um arquivo pelo método GET, tudo isso somente usando as funções de acesso a arquivos. Mas, então porque estamos falando de sockets? Simples, muitas vezes eles (os sockets) podem ser o único método que o seu servidor pode oferecer ou se você quer implementar um novo tipo de protocolo.

Se você quiser requisitar um novo arquivo por HTTP ou FTP usando os sockets, você deverá conhecer pelo menos uma parte do protocolo (requisição de arquivos/páginas), poís os sockets somente dão a função de você enviar bytes a um programa em um computador remoto.

E você poderá estar se perguntando, como irei usar isso? Aqui vou listar alguns sites de onde você poderá pegar uma explicação mais detalhada:

http://imasters.uol.com.br/noticia/658/php/introducao_a_sockets/
http://www.php.net/sockets
http://www.itmnetworks.com.br/suporte/manuais/php/ref.sockets.html

Como vocês puderão ver nos links acima, existem várias maneiras de manipular os sockets no PHP e que podemos usar os sockets para simular um servidor.

Nada do que foi passado até aqui é muito complicado, você só precisa ter um pouco de tempo e paciencia para entender o uso dos protocolos e os tipos de erros que podem ser retornados pelos sockets. E para quem quiser consultar as especificações do protocolo HTTP e FTP veja os endereços abaixo:

HTTP - http://www.w3.org/Protocols/rfc2616/rfc2616.html
FTP - http://www.w3.org/Protocols/rfc959/

Espero que tenham um bom proveito do material passado aqui e bons estudos.
Até mais.

Se você gostou deste artigo, então veja estes...

Alterar CSS usando JavaScript by Mounter on May 19th, 2008
Para muitos como eu, que buscam dar uma incrementada no site, tornando-o mais dinamico e com alguns efeitos simples, exemplo, alterar a classe de um div ao passar o mouse sobre ele (div:houver?) e vendo que esse efeito não é possível por CSS, resolvi fazer este artigo com alguns links para sites ensinando o mesmo e um exemplo usado em um site meu.

Barra de Ferramentas para IE em C# by CrociDB on September 14th, 2008
A criação de plugins para Firefox é bem fácil, e você pode encontrar vários tutoriais sobre isso por aí na internet, agora criação de barra de ferramentas para IE não é tão comum assim, e ele é o navegador mais utilizado hoje, apesar do crescimento da rapozinha laranja.

Diferenciar funções da classe com uma global by Mounter on May 4th, 2008
Em um belo dia você está criando uma classe e ao criar o nome de uma das funções você se depara com uma funções global de mesmo nome e quer chama-lá - a função global - na sua classe, o que você faria? Bem, você poderia usar algum argumento para diferencia-la, mas e se a funções tiver parametros iguais? Aqui está a explicação, você pode usar o mesmo sinal de chamamento de funções de classes, classe::funcao, mas só que desta vez você não usa o nome dá classe, somente faço isso ::funcao(parametro, 1); e a função global será chamada.

XML e XPath no PHP5 by Mounter on May 12th, 2008
Para quem está interessado em usar XML e XPath no seus scripts PHP poderá estar querendo em ver o site do .

Frameworks para PHP by CrociDB on June 21st, 2008
Frameworks são bibliotecas que auxiliam no desenvolvimento de alguma coisa específica.

Leave a Reply