mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 06:06:06 +08:00
server->script event path almost ready for remote scriptengine (translation table between local script ID and remote script ID missing)
This commit is contained in:
24
OpenSim/Grid/ScriptServer/RemotingObject.cs
Normal file
24
OpenSim/Grid/ScriptServer/RemotingObject.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
|
||||
namespace OpenSim.Grid.ScriptServer
|
||||
{
|
||||
public class RemotingObject : MarshalByRefObject
|
||||
{
|
||||
// This object will be exposed over remoting. It is a singleton, so it exists only in as one instance.
|
||||
|
||||
// Expose ScriptEngine
|
||||
public OpenSim.Region.ScriptEngine.DotNetEngine.ScriptEngine ScriptEngine = new OpenSim.Region.ScriptEngine.DotNetEngine.ScriptEngine();
|
||||
|
||||
/// <summary>
|
||||
/// Receives calls from remote grids.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public OpenSim.Region.ScriptEngine.DotNetEngine.ScriptEngine GetScriptEngine()
|
||||
{
|
||||
return ScriptEngine;
|
||||
}
|
||||
}
|
||||
}
|
||||
28
OpenSim/Grid/ScriptServer/RemotingServer.cs
Normal file
28
OpenSim/Grid/ScriptServer/RemotingServer.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Runtime.Remoting;
|
||||
using System.Runtime.Remoting.Channels;
|
||||
using System.Runtime.Remoting.Channels.Tcp;
|
||||
|
||||
|
||||
namespace OpenSim.Grid.ScriptServer
|
||||
{
|
||||
class RemotingServer
|
||||
{
|
||||
|
||||
public void CreateServer(int port, string instanceName)
|
||||
{
|
||||
// Create an instance of a channel
|
||||
TcpChannel channel = new TcpChannel(port);
|
||||
ChannelServices.RegisterChannel(channel, true);
|
||||
|
||||
// Register as an available service with the name HelloWorld
|
||||
RemotingConfiguration.RegisterWellKnownServiceType(
|
||||
typeof(RemotingObject),
|
||||
instanceName,
|
||||
WellKnownObjectMode.Singleton);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user