Перейти к основному содержанию
Тема: UDP Server-Client implementation in Raku (Прочитано 1742 раз) предыдущая тема - следующая тема

UDP Server-Client implementation in Raku

Server:
use v6;

my $socket = IO::Socket::Async.bind-udp('localhost', 3333);
react {
    whenever $socket.Supply(:datagram) -> $datagram {
        # read data from client
        say $datagram.data if $datagram.data.chars > 0;
        # send data to client
        $socket.print-to($datagram.hostname, $datagram.port, 'lol');
    }
}

Client:
use v6;

my $socket = IO::Socket::Async.udp();
# send data to server
await $socket.print-to('localhost', 3333, "Hello, Perl 6!");
# read response from server
react {
    whenever $socket.Supply(:datagram) -> $datagram {
        say $datagram.data if $datagram.data.chars > 0;
        done;
    }

    whenever Promise.in(5) {
        "[TIMEOUT] expired!".say;
        done;
    }
}