Skip to content

Mojo::IOLoop::Client

yuki-kimoto edited this page Dec 11, 2011 · 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は次の属性を実装しています。

iowatcher

my $watcher = $client->iowatcher;
$client     = $client->iowatcher(Mojo::IOWatcher->new);

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

メソッド

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

connect

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

Clone this wiki locally