Difference between revisions of "LlOpenRemoteDataChannel/ja"
Jump to navigation
Jump to search
(Initial translation) |
|||
(4 intermediate revisions by one other user not shown) | |||
Line 6: | Line 6: | ||
|return_text | |return_text | ||
|spec | |spec | ||
|caveats=* オブジェクトが別リージョンへ移動した場合は、チャネルを開き直さなければいけません。 | |caveats=* '''XML-RPC は今後使用すべきではありません。代わりに http-in を使いましょう。 {{LSLG/ja|LSL_http_server}} を参照のこと。''' | ||
** | * オブジェクトが別リージョンへ移動した場合は、チャネルを開き直さなければいけません。 | ||
** そのオブジェクトには以前と同じチャネルが割り当てられますが、開き直さない限り、リクエストを受け取れません。 | |||
* 14 日間にわたり使われなかったチャネルは削除されます。 | * 14 日間にわたり使われなかったチャネルは削除されます。 | ||
** チャネルが動作しており変更されていない事を、(例えば通常の通信の前、あるいは定期的なスケジュールとして) いつもチェックするというのは良い考えです。これは llOpenRemoteDataChannel 関数を実行し、以前のチャネル ID と比較することで行なえます。 | ** チャネルが動作しており変更されていない事を、(例えば通常の通信の前、あるいは定期的なスケジュールとして) いつもチェックするというのは良い考えです。これは llOpenRemoteDataChannel 関数を実行し、以前のチャネル ID と比較することで行なえます。 | ||
* 注意: XML-RPC 要求は、フロントエンド サーバが過負荷となるため、しばしばタイムアウトします。LL (Linden Lab) は定期的にサーバのハードウェアを更新し続けていますが、未だに信頼性には欠けます。(サーバが 1 つだけというボトルネックゆえに) XML-RPC の設計に拡張性が無く、そのサービスは "推奨されない" と LL の開発者は勧告してきました。彼らは HTTP | * 注意: XML-RPC 要求は、フロントエンド サーバが過負荷となるため、しばしばタイムアウトします。LL (Linden Lab) は定期的にサーバのハードウェアを更新し続けていますが、未だに信頼性には欠けます。 (サーバが 1 つだけというボトルネックゆえに) XML-RPC の設計に拡張性が無く、そのサービスは "推奨されない" と LL の開発者は勧告してきました。彼らは {{LSLG/ja|HTTP Polling}} を代替とするよう提案しています。XML-RPC 要求がタイムアウトした場合、そのスクリプトの remote_data イベントは発生するかもしれませんし、発生しないかもしれません。 (後者の場合、スクリプトは無反応になります。) | ||
|constants | |constants | ||
|examples=< | |examples=<source lang="lsl2"> | ||
default | default | ||
{ | { | ||
Line 26: | Line 27: | ||
remote_data( integer event_type, key channel, key message_id, string sender, integer idata, string sdata ) | remote_data( integer event_type, key channel, key message_id, string sender, integer idata, string sdata ) | ||
{ | { | ||
if (event_type == REMOTE_DATA_CHANNEL) { // | if (event_type == REMOTE_DATA_CHANNEL) { // チャネルが作成された | ||
} | } | ||
} | } | ||
} | } | ||
</ | </source> | ||
|helpers | |helpers | ||
|also_functions | |also_functions |
Latest revision as of 03:45, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: llOpenRemoteDataChannel( );XML-RPC 要求を listen するチャネルを作成します。チャネルが利用可能になったならば remote_data イベントが発生し、その引数にチャネル ID が渡されます。
警告
- この関数は 1.0 秒間、スクリプトを停止します。
- XML-RPC は今後使用すべきではありません。代わりに http-in を使いましょう。 LSL_http_server を参照のこと。
- オブジェクトが別リージョンへ移動した場合は、チャネルを開き直さなければいけません。
- そのオブジェクトには以前と同じチャネルが割り当てられますが、開き直さない限り、リクエストを受け取れません。
- 14 日間にわたり使われなかったチャネルは削除されます。
- チャネルが動作しており変更されていない事を、(例えば通常の通信の前、あるいは定期的なスケジュールとして) いつもチェックするというのは良い考えです。これは llOpenRemoteDataChannel 関数を実行し、以前のチャネル ID と比較することで行なえます。
- 注意: XML-RPC 要求は、フロントエンド サーバが過負荷となるため、しばしばタイムアウトします。LL (Linden Lab) は定期的にサーバのハードウェアを更新し続けていますが、未だに信頼性には欠けます。 (サーバが 1 つだけというボトルネックゆえに) XML-RPC の設計に拡張性が無く、そのサービスは "推奨されない" と LL の開発者は勧告してきました。彼らは HTTP Polling を代替とするよう提案しています。XML-RPC 要求がタイムアウトした場合、そのスクリプトの remote_data イベントは発生するかもしれませんし、発生しないかもしれません。 (後者の場合、スクリプトは無反応になります。)
サンプル
default
{
state_entry()
{
llOpenRemoteDataChannel();
}
changed(integer c)
{
if(c & (CHANGED_REGION | CHANGED_TELEPORT))
llOpenRemoteDataChannel();
}
remote_data( integer event_type, key channel, key message_id, string sender, integer idata, string sdata )
{
if (event_type == REMOTE_DATA_CHANNEL) { // チャネルが作成された
}
}
}
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。