【发布时间】:2016-03-19 04:38:35
【问题描述】:
女士们,先生们,您好!我目前正在编写一个有点像 IRC 的简约聊天服务器。我正在使用 Mojolicious 用 perl 编写它,但不幸的是遇到了问题。我有以下代码:
#!/usr/bin/perl
use warnings;
use strict;
use Mojo::IOLoop::Server;
my $server = Mojo::IOLoop::Server->new;
$server->on(accept => sub {
my ($server, $handle) = @_;
my $data;
print $handle "Connected!\n";
while(1) {
$handle->recv($data, 4096);
if($data) {
print $server "$data";
}
}
});
$server->listen(port => $ARGV[0]);
$server->start;
$server->reactor->start unless $server->reactor->is_running;
不幸的是,打印 $server "$data";线实际上不起作用。它发出错误:
Mojo::Reactor::Poll: I/O watcher failed: Not a GLOB reference at ./server.pl line 20.
我查看了 Mojolicious 的文档,但找不到如何将我从客户端 A 获得的线路发送到其他连接的客户端。
【问题讨论】:
-
你用什么mojo版本?
-
6.56 叮叮当当的啤酒杯看起来像
标签: perl asynchronous mojolicious