Socket PHP - Receber Arquivos por uma porta e responder em outra

1. Socket PHP - Receber Arquivos por uma porta e responder em outra

Glauco Garcia Cetara
cetara360

(usa CentOS)

Enviado em 12/12/2016 - 14:20h

Boa tarde gostaria de saber se alguém pode me ajudar com o seguindo problema. Tenho um PHP que recebe o arquivo pela porta 4000 e tenho que responder para o cliente na porta 4001 com ACK para que não envie novamente o arquivo, porem não seu como responder em outra porta. Também não sei se o ACK é apenas uma mensagem como estou mandando, não sei muito de socket.

A seguir meu código:

#!/usr/local/bin/php –q 

<?php
// Set time limit to indefinite execution
set_time_limit (0);

// Set BUFSIZE
$BUFSIZE = 268435456;

// Set the ip and port we will listen on
$address = '0.0.0.0';
$port = 4000;
$portresp = 4001;

$sock = socket_create(AF_INET, SOCK_STREAM,0);
socket_bind($sock, $address, $port) or die('Could not bind to address');
socket_listen($sock);
while (true) {
$client = socket_accept($sock);
socket_getpeername($client, $remote_ip, $remote_port);
$input = socket_read($client, $BUFSIZE);

var_dump($input);

echo "Enviando Resposta \n\n";
$msg ='ACK';
$len = strlen($msg);
if (socket_sendto($sock,$msg,$len,0x100,$remote_ip,$portresp) !== FALSE){
echo "Mensagem ACK enviado Corretamente para $remote_ip na porta $portresp \n";
socket_close($client);
};
};
socket_close($sock);
?>


Desde já Obrigado.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts