llOpenRemoteDataChannel

From Second Life Wiki
Revision as of 05:19, 16 August 2010 by Gregory Maurer (talk | contribs) (Linked to LSL HTTP Server)
Jump to navigation Jump to search

Summary

Function: llOpenRemoteDataChannel( );
1.0 Forced Delay
10.0 Energy

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.
  • XML-RPC should not be used anymore. Use http-in instead, see LSL_http_server.
  • 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.
  • Note: XML-RPC requests often time-out due to the front-end server being overloaded. LL has continued to upgrade the server hardware periodically, but it has remained unreliable. LL developers have advised that the XML-RPC design isn't scalable (due to the single server bottle-neck) and that the service is "deprecated". They suggest using HTTP Polling, or more preferably, LSL HTTP server as an alternative. If an XML-RPC request does time-out the script's remote_data event may or may not be triggered (and any script response is lost).

Examples

<lsl> default {

   state_entry()
   {
       llOpenRemoteDataChannel();
   }
   changed(integer c)
   {
if(c & (CHANGED_REGION

Deep Notes

Signature

function void llOpenRemoteDataChannel();