0

Introdução a Sockets no PHP

criado por Luiz Ribeiro em 30/09/2002 12:35am
Do que seria a Internet sem sockets? Como seriam conectados os computadores em redes? Seria praticamente impossível desenvolver servidores ou conectar computadores uns aos outros.

Bom, usando sockets genéricas podemos fazer conexões, uma solução simples para conectar à servidores IRC, POP, SMTP, FTP, HTTP, etc.


Ao contrário das unix sockets, usando sockets genéricas você pode realizar apenas conexões a outros servidores, ou seja, você não pode receber conexões na sua aplicação.

Para iniciar uma conexão usando sockets genéricas usamos a função fsockopen() que tem a seguinte sintaxe:

int fsockopen ( string hostname, int port [, int errno [, string errstr [, float timeout]]])

Exemplo:

<?php
$con = fsockopen("www.php.net", 80, $errno, $errstr);
if (!$con) {
    echo "Erro ao conectar em www.php.net.\n<br>";
    echo "Número do erro: $errno\n<br>Mensagem: $errstr";
}
fclose($con);
?>

No caso www.php.net é o host ao qual nossa aplicação irá conectar na porta 80, e o script irá armazenar o número do erro na variável $errno e a mensagem em $errstr.

Comentários:

Mostrando 1 - 10 de 13 comentários
alex lima disse:
Pessoal tenho uma duvida se existe um modo de estabelecer conexão entre
por meio de Socket em PHP, onde através de um site obtêm informações como por exemplo se um computador ligado ou desligado? Parecido com acesso remoto.
16/04/2014 3:09pm (~2 anos atrás)

nettcom disse:
estou querendo fazer uma conexão ao meu proprio site usando a porta 2082 (www.jlle.org) senha e user
eu posso conectar direto (http://usuario:senha@jlle.org:2082)
porem queria alguma maneira de acessar atravez de uma outra pagina em php para que outros usuários tenham acesso a alguns beneficios tipo um formulario, eles prenchem e envian logo o arquivo deveria executar a conexão enviar os dados atraves da porta aberta fechar e dar retorno de OK ao usuario. alguem poderiá me ajudar atenciosamente

max
22/09/2003 1:43pm (~13 anos atrás)

Paulo disse:
Com o uso dos sockets é possivel fazer um script em php que envie mensagens instântaneas?
15/09/2003 9:41pm (~13 anos atrás)

Nend disse:
Eu poço utilizar nisso o mesmo bot --> normal q eu utilizava no meu mirc? Ou vou ter q criar um bot q seja compativel com o php?
03/07/2003 12:24pm (~13 anos atrás)

Eu fiz um bot de exemplo e ja o disponibilizei aqui na PHPBrasil.com, se quiserem estudar ele é bem simples só para estudo.
16/12/2002 11:51am (~14 anos atrás)

Luiz Ribeiro disse:
Olá,
Pessoal... Desencanem deste bot, aí tem tudo para vocês fazerem o bot, só deêm uma lida no RFC do protocolo ou executem o comando de debug do mIRC, q eu passei no artigo. Não sei se vou lançar meu bot, e se for, não sei quando, não fiquem esperando por mim, tentem fazer sozinhos, escrevi este artigo justamente para isso, fazerem vocês mesmos isso.

Quanto a conectar a um servidor POP3, leiam o RFC também, é bem fácil de entender o RFC do POP3... Leiam lá, sabendo trabalhar com o protocolo, fica fácil.

Vou procurar aqui na minha máquina por algum exemplo que eu tenha feito, que conecte a um servidor POP3, se eu encontrar, passo aqui para vocês...

Um abraço,
Luiz Gustav Cardoso Ribeiro
23/10/2002 3:00pm (~14 anos atrás)

Caio Filipini disse:
Luiz Gustavo,

Muito bom o seu artigo, parabéns!
Pelo que deu pra notar, trabalhar com sockets seria parecido com trabalhar com arquivos?

Valeu!
Caio Filipini
04/10/2002 12:16am (~14 anos atrás)

Luiz Ribeiro disse:
DoS significa Denial of Service.

Olha cara, acho extremamente estúpido querer fazer coisas desse tipo usando php. Qual a utilidade disso?

Abraços,
Luiz Gustavo
01/10/2002 12:16pm (~14 anos atrás)

Lyma disse:
Daniel, Acredito que ele falava de Denial Of Service (DOS)... ;) e realmente é um fato.
01/10/2002 11:20am (~14 anos atrás)

Naum entendi, como executar cmds do Dos?
01/10/2002 9:45am (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)