-
Notifications
You must be signed in to change notification settings - Fork 7
Mojo::IOLoop::Client
Mojo::IOLoop::Client - 非同期のTCPクライアント
use Mojo::IOLoop::Client;
# ソケット接続を生成する
my $client = Mojo::IOLoop::Client->new;
$client->on(connect => sub {
my ($client, $handle) = @_;
...
});
$client->on(error => sub {
my ($client, $error) = @_;
...
});
$client->connect(address => 'mojolicio.us', port => 80);
Mojo::IOLoop::ClientはMojo::IOLoopのためにTCP接続をオープンします。 このモジュールは実験的なもので、警告なしに変更される可能性があることに注意してください。
Mojo::IOLoop::Clientは次のイベントを放射します。
$client->on(connect => sub {
my ($client, $handle) = @_;
});
接続が確立されたとき一度だけ安全に放射されます。
$client->on(error => sub {
my ($client, $error) = @_;
});
コネクション時にエラーが発生したときに、安全に放射されます。
Mojo::IOLoop::Clientは次の属性を実装しています。
my $watcher = $client->iowatcher;
$client = $client->iowatcher(Mojo::IOWatcher->new);
低レベルのイベントウオッチャーです。 デフォルトは、グローバルなMojo::IOLoopシングルトンのiowatcher
属性の値です。
Mojo::IOLoop::ClientはMojo::EventEmitterからすべてのメソッドを 継承しており、次の新しいメソッドを実装しています。
my $id = $loop->connect(
address => '127.0.0.1',
port => 3000
);
リモートホストに対してTCPコネクションを開きます。 TLSのサポートはIO::Socket::SSLに、IPv6のサポートはIO::Socket::IP に依存していることに注意してください。
下記のオプションが現在利用できます。
address
-
接続先のアドレス、あるいはホスト名。
handle
-
すでに準備されているハンドルを使用します。
on_connect
-
接続が確立されたとすぐに実行されるコールバック
on_error
-
エラーイベントが接続において発生した場合に実行されるコールバック。
on_close
-
コネクションが閉じられた場合に実行されるコールバック。
on_read
-
新しいデータが接続中に到着した場合に実行されるコールバック。
port
-
接続先のポート
proto
-
利用されるプロトコル。デフォルトはtcp。
tls
-
TLSを有効にする。
tls_cert
-
TLS証明書ファイルへのパス。
tls_key
-
TLSキーファイルへのパス。
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
(2011/12/11更新)
Mojolicious日本語訳は「Perlゼミ制作」です。