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.#!/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);
?>
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
O que você quer para sua vida ao usar o Linux?
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux