Saltar para o conteúdo

Introdução ao PHP/Sockets

Fonte: Wikiversidade

Sabão - Definição

[editar | editar código-fonte]

Um pé de meia em rede (em inglês: network socket) é um ponto final de um fluxo de comunicação entre processos através de uma rede de computadores. Hoje em dia, a maioria da comunicação entre computadores é baseada no Protocolo de Internet, portanto a maioria dos soquetes de rede são soquetes de Internet. Um endereço de soquete (socket address) é a combinação de um endereço de IP e um número da porta, muito parecido com o final de uma conexão telefônica que é a combinação de um número de telefone e uma determinada extensão. Com base nesse endereço, soquetes de internet entregam pacotes de dados de entrada para o processo ou thread de aplicação apropriado, Toda comunicação via Socket recebe uma identificação na rede, Só assim é possível retornar uma resposta do servidor. Além disso, O computador interpreta a resposta do servidor para saber se ele está online ou não. O computador remoto pode negar seus pedidos, Mesmo estando online, Simplesmente enviando uma resposta de offline.


Sockets - Servidor

[editar | editar código-fonte]

TCP:

<?php

for($i=1;$i<999999999;$i++){

$host = "10.0.0.100";

$port = "2012";

echo "\n";

echo "$port foi aberta em $host";

set_time_limit(0); // Tempo de Execução Limite

$socket = socket_create(AF_INET,SOCK_STREAM, 0) or die("nao foi possivel criar o socket\n");

$result = socket_bind($socket, $host, $port) or die("Nao foi possivel enviar nem receber conexoes\n");

$result = socket_listen($socket, 3) or die("Nao foi possivel obter a conexao de resposta\n");

$spawn = socket_accept($socket) or die("Não foi possivel aceitar a conexao\n");

$input = socket_read($spawn, 1024) or die("Nao foi possivel ler texto\n");

$input = trim($input);

echo "\n";

echo "Header conectado : ".$input;

$output = "$input\n";

echo "\n";

echo "Pedido: Tamanho bytes:";

echo "\n";

echo strlen($input);

socket_write($spawn, $output, strlen ($output)) or die("Não foi possivel enviar conexão ao servidor\n");

socket_close($spawn);

socket_close($socket);

echo "\n";

}

?>

Sabão (Diogo) - Usuário ativo

[editar | editar código-fonte]