sch*_*olf 2 perl winapi asynchronous file
我正在编写一些服务器代码,通过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.
Perlmonks上的这个线程建议你可以用Perl这样在Windows上创建套接字非阻塞:
ioctl($socket, 0x8004667e, 1);
Run Code Online (Sandbox Code Playgroud)
该主题中的更多细节和资源