dポイントプレゼントキャンペーン実施中!

ようやくPerlに慣れてきて、ふと思ったのですが
VBではイベントというものがあり、Perl Tkでもキーボード・マウスのイベントの処理ができる
みたいですが、クライアントでソケット受信した場合、いつ受信するかわかりませんので
ループしていれば良いのですが、ループしている間は、他の実行が何も出来ず効率も悪いなと
思うようになりました。
WindowsのPerl5.6を使っているのですが、ソケット等、イベント処理できる方法はあるのでしょうか?

A 回答 (1件)

PerlでWindows風にsoketを扱う方法は知りませんが、接続待ちをするのであれば accept をするだけですよ。

acceptの中で外部からの接続があるまで停止します(OSは接続があるまでそのプロセスをsleep状態にしている筈です)。その最中に他のことをしたいなら fork してやれば良いんじゃないでしょうか。但しWindows用のPerlのforkがどう動くのか私は知りません。(UNIXなら子プロセスに分離します)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!