0 votes

UDP écrire dans la prise et lire de la prise en même temps

Serveur :

Client :

    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$result = socket_connect($sock, '127.0.0.1', 11104);
    $msg = "Sikerult";
    $len = strlen($msg);
        //socket_write($sock, $msg, strlen($msg));
    socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 11104);
    //$buf=socket_read($sock, 2048);
    socket_recvfrom($sock, $buf, 12, 0, $from, $port);
    echo $buf;
    socket_close($sock);
?>

Le serveur reçoit les données du client, mais le client ne reçoit rien du serveur et continue de s'exécuter.

1voto

user83591 Points 3857

Le serveur renvoie le paquet à lui-même, vous devez lui transmettre le port du client, pas du serveur. Donc:

socket_recvfrom($socket, $buf, 12, 0, $from, $port);
socket_sendto($socket, $msg, strlen($msg), 0, $from, $port);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X