説明

イベントが発生したときに応対するノード番号を返します。

構文
$num = from()

引数

必要ありません。

返り値
$num : ノード番号

備考

次のイベントが発生したときに対象のノード番号がセットされます。

イベント 対象
onConnect 新たに接続したノード
onDisconnect 何らかの理由で接続が途絶えた、もしくは切断要求があったノード
onRecv データを送信したノード
serve サーバ処理を行うノード

呼び出されたハンドラから本関数を呼び出すことで、ノードに対して操作を行うことができます。

例えば、接続したノードに対してメッセージを送信する場合、onConnectハンドラから

sub onconnect {
  my $self = shift;
  my $from = $self->from();                     # 接続したノード番号を取得
  $self->send( $from, "Hello!\r\n" );           # 接続したノードにメッセージを送信
}

また、切断するノードに対してメッセージを送信する場合、onDisconnectハンドラから

sub ondisconnect {
  my $self = shift;
  my $from = $self->from();                     # 切断するノード番号を取得
  $self->send( $from, "Bye!\r\n" );             # 切断するノードにメッセージを送信
}

のように定義します。

'from_' で始まる関数は操作を行う際、操作対象のノード番号が自動的にセットされます。

例えば、上記、切断するノードに対してメッセージを送信する場合は

sub ondisconnect {
  my $self = shift;
  $self->from_send( "Bye!\r\n" );             # 切断するノードにメッセージを送信
}

のように、一行で定義することができます。

イベントを発生したノードに対して操作や処理を行う場合は from 付き関数を使用する方がスマートですが、イベントを発生したノードから他のノードへ操作を行うような場合は、from なしの関数で操作するノード番号を指定して行います。