-
Notifications
You must be signed in to change notification settings - Fork 7
Mojo::IOLoop::Client
Mojoliciousドキュメント 日本語訳は以下に引っ越しました。
Mojo::IOLoop::Client - Mojoliciousドキュメント 日本語訳
独自ドメインのページで、Giblogを使って、サイトを再構成しました。
ドキュメントの各ページのタイトルが正しく検索エンジンで表示されなかったことが課題で、それを解決することが目的です。
サイトの更新は、新しいページ行われます。
新しいサイトを検索エンジンで発見できるようになったタイミングで、このページのコンテンツは、削除されます。
Mojo::IOLoop::Client - 非同期のTCP/IPとUNIXドメインソケットのクライアント
use Mojo::IOLoop::Client;
# ソケット接続を生成する
my $client = Mojo::IOLoop::Client->new;
$client->on(connect => sub {
my ($client, $handle) = @_;
...
});
$client->on(error => sub {
my ($client, $err) = @_;
...
});
$client->connect(address => 'example.com', port => 80);
# 必要であればリアクターを開始
$client->reactor->start unless $client->reactor->is_running;
Mojo::IOLoop::ClientはMojo::IOLoopのためにTCP接続をオープンします。
Mojo::IOLoop::ClientはMojo::EventEmitterからすべての イベントを継承しており、次の新しいイベントを発行します。
$client->on(connect => sub {
my ($client, $handle) = @_;
});
接続が確立されたとき一度だけ発行されます。
$client->on(error => sub {
my ($client, $err) = @_;
...
});
コネクション時にエラーが発生したときに発行されます。処理されなければ、致命的です。
Mojo::IOLoop::Clientは次の属性を実装しています。
my $reactor = $client->reactor;
$client = $client->reactor(Mojo::Reactor::Poll->new);
低レベルのイベントウオッチャーです。 デフォルトは、グローバルなMojo::IOLoopシングルトンのreactor
属性の値です。
Mojo::IOLoop::ClientはMojo::EventEmitterからすべてのメソッドを 継承しており、次の新しいメソッドを実装しています。
my $bool = Mojo::IOLoop::Client->can_nnr;
Net::DNS::Nativeが0.15以上でインストールされていて、ノンブロッキング名前解決が有効になっていれば、真になります。
my $bool = Mojo::IOLoop::Client->can_socks;
IO::Socket::SOCKSが0.64以上でインストールされており、SOCK5のサポートが有効であれば、真になります。
$client->connect(address => '127.0.0.1', port => 3000);
$client->connect({address => '127.0.0.1', port => 3000});
リモートホストに対してTCPコネクションを開きます。 ノンブロッキングの名前解決は、Net::DNS::Native (0.15+)と IO::Socket::Socks (0.64)のSOCKS5に 、IPv6のサポートはIO::Socket::INET6(0.20+) に、 TLSのサポートはIO::Socket::SSL (2.009+)に 依存していることに注意してください。
下記のオプションが現在利用できます。
- address
-
address => 'mojolicio.us'
接続先のアドレス、あるいはホスト名。デフォルトは、
127.0.0.1
。 - handle
-
handle => $handle
すでに準備されているハンドルを使用します。
- local_address
-
local_address => '127.0.0.1'
バインドされるローカルアドレス
- port
-
port => 80
接続先のポート。デフォルトは
80
。tls
オプションがあれば443
。 - socks_address
-
socks_address => '127.0.0.1'
コネクションが利用するSOCKS5プロキシサーバーのアドレス、あるいはホスト名。
- socks_pass
-
socks_pass => 'secr3t'
SOCKS5認証が利用するパスワード。
- socks_port
-
socks_port => 9050
接続に利用するSOCKS5プロキシサーバーのポート。
- socks_user
-
socks_user => 'sri'
SOCKS5認証が利用するユーザー名。
- timeout
-
timeout => 15
確立されつつある接続がキャンセルされるまでの最大の秒数。 デフォルトは
10
。 - tls
-
tls => 1
TLSを有効にする。
- tls_ca
-
tls_ca => '/etc/tls/ca.crt'
TLS認証局ファイルへのパス。 ホスト名の検査も有効になります。
- tls_cert
-
tls_cert => '/etc/tls/client.crt'
TLS証明書ファイルへのパス。
- tls_key
-
tls_key => '/etc/tls/client.key'
TLSキーファイルへのパス。
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
(Mojolicious 8.12を反映。5月22日更新)
Mojolicious日本語訳は「Perlゼミ制作」です。