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);
?>
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie