From 6055db2bc3beadcfd3e06c74b0fffb42ae4545a7 Mon Sep 17 00:00:00 2001 From: Tedd Hansen Date: Sun, 30 Dec 2007 22:37:07 +0000 Subject: server->script event path almost ready for remote scriptengine (translation table between local script ID and remote script ID missing) --- .../ScriptEngine/RemoteServer/RemoteServer.cs | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 OpenSim/Region/ScriptEngine/RemoteServer/RemoteServer.cs (limited to 'OpenSim/Region/ScriptEngine/RemoteServer/RemoteServer.cs') diff --git a/OpenSim/Region/ScriptEngine/RemoteServer/RemoteServer.cs b/OpenSim/Region/ScriptEngine/RemoteServer/RemoteServer.cs new file mode 100644 index 0000000..423e6be --- /dev/null +++ b/OpenSim/Region/ScriptEngine/RemoteServer/RemoteServer.cs @@ -0,0 +1,38 @@ +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.Region.ScriptEngine.RemoteServer +{ + class RemoteServer + { + + public OpenSim.Grid.ScriptServer.RemotingObject Connect(string hostname, int port) + { + // Create a channel for communicating w/ the remote object + // Notice no port is specified on the client + TcpChannel chan = new TcpChannel(); + ChannelServices.RegisterChannel(chan, true); + + // Create an instance of the remote object + OpenSim.Grid.ScriptServer.RemotingObject obj = (OpenSim.Grid.ScriptServer.RemotingObject)Activator.GetObject( + typeof(OpenSim.Grid.ScriptServer.RemotingObject), + "tcp://" + hostname + ":" + port + "/DotNetEngine"); + + // Use the object + if (obj.Equals(null)) + { + System.Console.WriteLine("Error: unable to locate server"); + } + else + { + return obj; + } + return null; + + } + } +} -- cgit v1.1