Skip to content

Mojo::IOLoop::Client

yuki-kimoto edited this page May 29, 2012 · 12 revisions

Mojolicious API リファレンス

名前

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::ClientMojo::IOLoopのためにTCP接続をオープンします。

イベント

Mojo::IOLoop::Clientは次のイベントを発行します。

connect

$client->on(connect => sub {
  my ($client, $handle) = @_;
});

接続が確立されたとき一度だけ安全に放射されます。

error

$client->on(error => sub {
  my ($client, $error) = @_;
});

コネクション時にエラーが発生したときに、安全に発行されます。

属性

Mojo::IOLoop::Clientは次の属性を実装しています。

reactor

my $reactor = $client->reactor;
$client     = $client->reactor(Mojo::Reactor::Poll->new);

低レベルのイベントウオッチャーです。 デフォルトは、グローバルなMojo::IOLoopシングルトンのreactor属性の値です。

メソッド

Mojo::IOLoop::ClientMojo::EventEmitterからすべてのメソッドを 継承しており、次の新しいメソッドを実装しています。

connect

$client->connect(address => '127.0.0.1', port => 3000);

リモートホストに対してTCPコネクションを開きます。 TLSのサポートはIO::Socket::SSLに、IPv6のサポートはIO::Socket::IP に依存していることに注意してください。

下記のオプションが現在利用できます。

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更新)

Clone this wiki locally