Difference between revisions of "LlOpenRemoteDataChannel"

From Second Life Wiki
Jump to navigation Jump to search
m
m (Fixed some typos)
Line 7: Line 7:
|spec
|spec
|caveats=* If an object moves from one region to another it must re-open the channel
|caveats=* If an object moves from one region to another it must re-open the channel
** The object will get the *same* channel as before, but without re-opnening no requests will get through
** The object will get the *same* channel as before, but without re-opening no requests will get through
* Any channel that is not used for 14 days will be cleaned up.
* Any channel that is not used for 14 days will be cleaned up.
** May be advisable to somewhat regularly (before expected use or on a regular shedule) check that the channel is good and hasn't changed by calling llOpenRemoteDataChannel and comparing to the previous channel.
** May be advisable to somewhat regularly (before expected use or on a regular schedule) check that the channel is good and hasn't changed by calling llOpenRemoteDataChannel and comparing to the previous channel.
|constants
|constants
|examples=<pre>
|examples=<pre>

Revision as of 10:36, 7 May 2007

Summary

Function: llOpenRemoteDataChannel( );

Creates a channel to listen for XML-RPC calls. Will trigger a remote_data event with channel id once it is available.

Caveats

  • This function causes the script to sleep for 1.0 seconds.
  • If an object moves from one region to another it must re-open the channel
    • The object will get the *same* channel as before, but without re-opening no requests will get through
  • Any channel that is not used for 14 days will be cleaned up.
    • May be advisable to somewhat regularly (before expected use or on a regular schedule) check that the channel is good and hasn't changed by calling llOpenRemoteDataChannel and comparing to the previous channel.
All Issues ~ Search JIRA for related Bugs

Examples

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) { // channel created
        }
    }
}

Deep Notes

Search JIRA for related Issues

Signature

function void llOpenRemoteDataChannel();