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);
?>
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Máquina perereca - até onde é possível o uso de Linux?
Como anda a saúde do disco rígido?
Reescalando a tela hd para fullhd com o xrandr
Debian 13 "trixie&... lançado! (20)
Problema na instalação do Xubuntu (1)