コメントやトラックバック、FriendFeedやTwitterでのツッコミは大歓迎です!
携帯用 by Google

Search

Profile & Feeds

GOTTi
GOTTi@iNNX
FriendFeed - gotti twitter - hidenorigoto flickr - GOTTi mixi - hidenorigoto facebook - hidenorigoto last.fm - hidenorigoto
最近は、PHPのMVCフレームワーク「symfony」関連の活動と、多治見IT勉強会などをやっています。
Googleプロフィール
ブログへのコメントやツッコミ、twitterやFriendFeedでのreplyなどお気軽にお願いします!

Latest Posts

369件のエントリ

Category

iNNX Links

Other Links

Friends Links

サーバー1.27で、いよいよHTTP-INがメイングリッドに

2009/07/11 10:49 add to hatena hatena detail hatena detail

セカンドライフのメイングリッドのサーバー(SIM)のバージョンアップが今月行われて、1.27になりますが、このバージョンアップにはLSL関連で久々に大きな機能追加が行われています。それが「HTTP-IN」と呼ばれている機能です。


HTTP-INは何か?というのを端的に説明すると、「これまでのXML-RPCをHTTPでできるようにした」ものです。

具体的には、以下のようなことができるようになります。

  • プリムに割り当てられたURLを使用してアクセスする
    • Second Life内部ではLSLのllHTTPRequestを使用してアクセス可能
    • Second Life外部からも同様にアクセス可能
  • URLにアクセスがあると、スクリプトに「http_request」イベントが発生します。
    • このイベント内で何らかのスクリプト処理を行って、レスポンスとして返すことができます。
    • 例えば、イベントが発生した時点でセンサーを起動して、その時点で周囲にいるアバター名の一覧をレスポンスとして返すことなどもできます。

HTTP-INで割り当てられるURLは、例えば以下のようなものです。

このURLの「sim3893」という部分は、リージョンのホストに対応しています。つまり、SIMが変わればURLも変わります。

実際には、URLのハンドリングがちょっと難しいので、そこを理解しておかないと利用するのが難しそうです。以下に、URLが無効になってしまう例を挙げます。

  • スクリプトがリセットされた時
    • スクリプトを書き換えて保存した場合も同様です
    • state_entryイベントで処理します。
  • スクリプトの入ったプリム/オブジェクトをtakeした時
    • takeした瞬間に無効になります。再度rezしてもダメです。
    • on_rezイベントで処理します。
  • リージョンが再起動した場合
    • changedイベントのCHANGED_REGION_STARTイベントが発生します。
  • アバターが身につけているオブジェクトの場合、テレポートしたりSIMを超えた場合
    • changedイベントのCHANGED_REGIONまたはCHANGED_TELEPORTイベントが発生します。

このように、URLが頻繁に変わってしまいます。

以下、HTTP-IN関連で追加された関数・イベント・定数の一覧です。

  • llRequestURL HTTP-IN用のURL割り当てを要求します。URLが割り当てられるとhttp_requestイベントが発生します。
  • llRequestSecureURL llRequestURLと同様ですが、HTTPSプロトコル用のURLが割り当てられます。
  • llReleaseURL 割り当てられたURLを明示的に解放します。
  • http_request URL割り当て完了時、およびURLへのアクセスがあった場合に発生します。
  • llHTTPResponse HTTPリクエストに対して、レスポンスを返します。
  • llGetHTTPHeader HTTPリクエストのいくつかのヘッダを取得します。
  • llGetFreeURLs スクリプトで割り当て可能なURLの数を取得します。
  • CHANGED_REGION_START リージョンが再起動したときに発生するchangedイベントのフラグです。


現在はまだNew Script SIMはバージョンアップされていないようなので、今日のスクリプターの会ではどこかバージョンアップされているSIMに移動して、HTTP-INをアレコレ試してみたいですね。


関連リンク:



2009/07/11 10:49 add to hatena hatena detail hatena detail
本ブログではコメントシステムにDISQUSを使用しています。
FriendFeedやTwitterなどの外部ソーシャルサービスでこのURL付きでコメントしていただくと、 DISQUSにより自動的にReactionsとしてこちらに表示されます。

blog comments powered by Disqus