服务器
#!/usr/bin/env raku
unlink "/run/user/1000/sock";
my $socket = IO::Socket::Async.listen-path("/run/user/1000/sock");
react {
my $timerSupplier = Supplier.new;
whenever $timerSupplier.Supply.migrate {
say "3 second interval: ", $_;
}
$timerSupplier.emit(Supply.interval(3));
whenever $socket -> $conn {
$timerSupplier.emit(Supply.interval(3));
say "\"", $_.Supply.lines.Channel.receive, "\"";
$conn.close;
}
}
Run Code Online (Sandbox Code Playgroud)
客户
#!/usr/bin/env raku
my $sock = IO::Socket::Async.connect-path("/run/user/1000/sock").result;
await $sock.print("ok\n");
Run Code Online (Sandbox Code Playgroud)
如果我先执行服务器,然后执行客户端,则会出现以下异常。
Unhandled exception in code scheduled on thread 8
Can only cancel an AsyncTask handle
in block at ./server line 16
Run Code Online (Sandbox Code Playgroud)
谁能告诉我有什么问题吗?
raku ×1