相关疑难解决方法(0)

Perl - Win32 - 如何从另一个进程执行文件句柄的非阻塞读取?

我正在编写一些服务器代码,通过STDIN与客户端进程通信.我正在尝试编写一段perl代码片段,异步接收来自客户端STDOUT的响应.代码的阻止版本可能如下所示:

sub _read_from_client
{
   my ($file_handle) = @_;
   while (my $line = <$file_handle>) {
      print STDOUT $line;
   }
   return;
}
Run Code Online (Sandbox Code Playgroud)

重要的是,该代码段需要在Win32平台上运行.*nix平台有很多我不感兴趣的解决方案.我使用的是ActivePerl 5.10.

perl winapi asynchronous file

2
推荐指数
1
解决办法
2363
查看次数

为什么我的Perl sysread在从套接字读取时会阻塞?

我在AIX 5.3上的Perl 5.8.2中做了一个sysread.根据文档,sysread当它从文件句柄读取所有读取时应该给0.

在我的场景中,文件句柄是STDIN并指向一个套接字.所以我基本上是sysread从套接字做的.但sysread即使在客户端发送了所有数据之后,我也从未获得0 并且它只是阻止.

知道什么可能是错的吗?

谢谢.

sockets perl

2
推荐指数
1
解决办法
4447
查看次数

标签 统计

perl ×2

asynchronous ×1

file ×1

sockets ×1

winapi ×1