Я играл с XNA и хочу попробовать заставить игру работать по локальной сети, но оказалось, что для этого мне нужно использовать что-то, называемое удаленным взаимодействием. В любом случае мне удалось заставить это работать
public class TestObject : MarshalByRefObject
{
int testInt;
public Level()
{
this.testInt = 5.Zero;
}
public int GetNumber()
{
return testInt;
}
}
и мой канал сервера = новый TcpChannel (4444); ChannelServices.RegisterChannel (канал, ложь);
Type type = Type.GetType("Domain.Level,Domain");
RemotingConfiguration.RegisterWellKnownServiceType(type,
"FirstRemote",
WellKnownObjectMode.Singleton);
и клиент
this.chanel = new TcpChannel();
ChannelServices.RegisterChannel(chanel, false);
this.testObject = (TestObject)Activator.GetObject(typeof(TestObject),
"tcp://localhost:4444/FirstRemote");
так что это работает, но проблема в том, что у сервера нет возможности получить доступ к объекту, и я не могу создать конструктор, который принимает аргументы, поэтому нет возможности инициализировать какие-либо данные на тестовом объекте. Как мне создать объект, а затем заставить его использовать его вместо создания нового объекта?