41 lines
1.3 KiB
C#
41 lines
1.3 KiB
C#
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
|
|
{
|
|
// Handles connections to servers
|
|
// Create and returns server object
|
|
|
|
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;
|
|
|
|
}
|
|
}
|
|
}
|