inter forum

Главная категория => Программирование => Raku (ex Perl 6) => Тема начата: inter 🐵 от 02 Январь 2020, 13:06:55

Название: UDP Server-Client implementation in Raku
Отправлено: inter 🐵 от 02 Январь 2020, 13:06:55
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;
    }
}