-
Notifications
You must be signed in to change notification settings - Fork 7
Mojo::IOLoop::Client
yuki-kimoto edited this page May 30, 2012
·
12 revisions
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 $reactor = $client->reactor;
$client = $client->reactor(Mojo::Reactor::Poll->new);
低レベルのイベントウオッチャーです。 デフォルトは、グローバルなMojo::IOLoopシングルトンのreactor
属性の値です。
Mojo::IOLoop::ClientはMojo::EventEmitterからすべてのメソッドを 継承しており、次の新しいメソッドを実装しています。
$client->connect(address => '127.0.0.1', port => 3000);
リモートホストに対してTCPコネクションを開きます。 TLSのサポートはIO::Socket::SSLに、IPv6のサポートはIO::Socket::INET6 に依存していることに注意してください。
下記のオプションが現在利用できます。
address
-
接続先のアドレス、あるいはホスト名。
handle
-
すでに準備されているハンドルを使用します。
port
-
接続先のポート
timeout
-
確立されつつある接続がキャンセルされるまでの最大の秒数。 デフォルトは
10
。 tls
-
TLSを有効にする。
tls_ca
-
TLS認証局ファイルへのパス。 ホスト名の検査も有効になります。
tls_cert
-
TLS証明書ファイルへのパス。
tls_key
-
TLSキーファイルへのパス。
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
(2012/5/28更新)
Mojolicious日本語訳は「Perlゼミ制作」です。