我正在寫一些通過STDIN與客戶端進程通信的服務器代碼。我試圖編寫一個Perl代碼片斷,它異步接收來自客戶端的STDOUT的響應。阻止版本的代碼可能如下所示:Perl - Win32 - 如何從另一個進程無阻塞地讀取文件句柄?
sub _read_from_client
{
my ($file_handle) = @_;
while (my $line = <$file_handle>) {
print STDOUT $line;
}
return;
}
重要的是,該代碼段需要在Win32平臺中工作。 * nix平臺有許多我不感興趣的解決方案,我使用的是ActivePerl 5.10。
http://www.perlmonks.org/?node_id=529812 我看了一下那個鏈接 - 我對使用'sysread'和'ioctl'並不興奮,因爲它們比我想要的要低。如果還有其他方法(例如廣爲接受的CPAN模塊) - 我想知道。 – schwerwolf 2008-09-26 20:42:26