Difference between revisions of "LlOpenRemoteDataChannel/ja"

From Second Life Wiki
Jump to navigation Jump to search
(made glossary page with translator's note, and added link to it)
 
(One intermediate revision 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 の開発者は勧告してきました。彼らは {{LSLG/ja|HTTP Polling}} を代替とするよう提案しています。XML-RPC 要求がタイムアウトした場合、そのスクリプトの remote_data イベントは発生するかもしれませんし、発生しないかもしれません。(後者の場合、スクリプトは無反応になります。)
* 注意: XML-RPC 要求は、フロントエンド サーバが過負荷となるため、しばしばタイムアウトします。LL (Linden Lab) は定期的にサーバのハードウェアを更新し続けていますが、未だに信頼性には欠けます。 (サーバが 1 つだけというボトルネックゆえに) XML-RPC の設計に拡張性が無く、そのサービスは "推奨されない" と LL の開発者は勧告してきました。彼らは {{LSLG/ja|HTTP Polling}} を代替とするよう提案しています。XML-RPC 要求がタイムアウトした場合、そのスクリプトの remote_data イベントは発生するかもしれませんし、発生しないかもしれません。 (後者の場合、スクリプトは無反応になります。)
|constants
|constants
|examples=<lsl>
|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) { // channel created
         if (event_type == REMOTE_DATA_CHANNEL) { // チャネルが作成された
         }
         }
     }
     }
}
}
</lsl>
</source>
|helpers
|helpers
|also_functions
|also_functions

Latest revision as of 04:45, 25 February 2016

要約

関数: 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 イベントは発生するかもしれませんし、発生しないかもしれません。 (後者の場合、スクリプトは無反応になります。)
All Issues ~ Search JIRA for related Bugs

サンプル

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) { // チャネルが作成された
        }
    }
}

特記事項

Search JIRA for related Issues

Signature

function void llOpenRemoteDataChannel();
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。