IIOP - .NET to .NET (Кусок лабы доделать)
От: KassadShrike Украина  
Дата: 04.01.08 18:11
Оценка:
Нужно сделать пункт Два варианта распределенных СУБД (с реализацией клиентов и серверов), используя по своему выбору две технологии из нижеперечисленных: Java RMI/JRMP, Java RMI/IIOP, EJB, Net Remoting, IIOP Net.
СУБД написана... как видно из списка истинный .NET-чик выберет Net Remoting и IIOP Net. Но код на Net Remoting — работает а на IIOP Net нет.


сервер:

//Net
            IDictionary props = new Hashtable();
            props["name"] = "tcp";
            props["port"] = 7777; 
            BinaryServerFormatterSinkProvider bsf = new BinaryServerFormatterSinkProvider();
            bsf.TypeFilterLevel = TypeFilterLevel.Full; 

            TcpChannel chan = new TcpChannel(props, null, bsf);
            ChannelServices.RegisterChannel(chan, false);
            RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemotingServer), "RemotingServer", WellKnownObjectMode.Singleton);
//IIOP
            IiopChannel chan = new IiopChannel(7778);
            ChannelServices.RegisterChannel(chan, false);
            RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemotingServer), "RemotingServer", WellKnownObjectMode.Singleton);


клиент:

            TcpChannel chan = new TcpChannel();
            ChannelServices.RegisterChannel(chan);
            RemotingConfiguration.RegisterWellKnownClientType(typeof(RemotingServer), "tcp://localhost:7777/RemotingServer");
            m_serverNet = new RemotingServer();

            IiopChannel chan = new IiopChannel();
            ChannelServices.RegisterChannel(chan, false);
            RemotingConfiguration.RegisterWellKnownClientType(typeof(RemotingServer), "tcp://localhost:7778/RemotingServer");
            m_serverIIOP = new RemotingServer();


При первом обращении IIOP — бахает (.NET remoting работает идеально (странно почему ))
Как понимаю не соответствует "магическое число"
            if (!((readBuffer[0] == m_giop_magic[0]) && (readBuffer[1] == m_giop_magic[1]) &&
                (readBuffer[2] == m_giop_magic[2]) && (readBuffer[3] == m_giop_magic[3])))
            {
                // no GIOP
                Trace.WriteLine("received non GIOP-Message");
//BABAH
                throw new omg.org.CORBA.MARSHAL(19, omg.org.CORBA.CompletionStatus.Completed_No);
            }
Best regards
col. Fadman Kassad AKA Shrike
Re: IIOP - .NET to .NET (Кусок лабы доделать)
От: Agent Smith Россия  
Дата: 05.01.08 06:07
Оценка:
Извиняюсь за оффтопик, но список устарел. Предложите преподу добавить туда WCF и пользуйтесь ) Если препод адекватный, то против не будет, т.к. далеко не факт, что он знаком с этой технологией.
Never argue with a woman who reads. It's likely she can also think. (c)
Re[2]: IIOP - .NET to .NET (Кусок лабы доделать)
От: Аноним  
Дата: 05.01.08 20:34
Оценка:
Здравствуйте, Agent Smith, Вы писали:

AS>Извиняюсь за оффтопик, но список устарел. Предложите преподу добавить туда WCF и пользуйтесь ) Если препод адекватный, то против не будет, т.к. далеко не факт, что он знаком с этой технологией.

Боюсь, что это мало поможет — они такие ЖЫвотные что новому не учаццо.

По топику проше квест чуть-дальше — в урле надо было указывать не tcp://... , a iiop://... Стало бахать в районе десериализации Бох'a
Re: IIOP - .NET to .NET (Кусок лабы доделать)
От: vdimas Россия  
Дата: 07.01.08 14:22
Оценка:
Здравствуйте, KassadShrike, Вы писали:

Попробуй переделать пример так, чтобы не регистрировать 2 канала одновременно, т.е. выполнить тест по-очереди. У нас в системе поднимается либо IIOP либо TCP каналы, и всё прекрасно работает.
Re[2]: IIOP - .NET to .NET (Кусок лабы доделать)
От: KassadShrike Украина  
Дата: 07.01.08 14:54
Оценка:
Может надо гденить регистрить COM+ объекты?

Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, KassadShrike, Вы писали:


V>Попробуй переделать пример так, чтобы не регистрировать 2 канала одновременно, т.е. выполнить тест по-очереди. У нас в системе поднимается либо IIOP либо TCP каналы, и всё прекрасно работает.

Регистрируется одновременно один канал, кто муже на 2-х должно прекрасно работать поскольку юзаются разные сокеты:

exception следующий:
Ch.Elca.Iiop.Idl.BoxedValueRuntimeTypeGenerator:
private void Initalize() {
AssemblyName asmname = new AssemblyName();
asmname.Name = "dynBoxed";
m_asmBuilder = System.Threading.Thread.GetDomain().
DefineDynamicAssembly(asmname, AssemblyBuilderAccess.Run);
m_modBuilder = m_asmBuilder.DefineDynamicModule("dynBoxed.netmodule"); }

{"Unable to cast object of type 'System.Reflection.Module' to type 'System.Reflection.Emit.ModuleBuilder'."}

at System.Reflection.Emit.AssemblyBuilderData.GetInMemoryAssemblyModule()
at System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes)
at System.AppDomain.DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access)
at Ch.Elca.Iiop.Idl.BoxedValueRuntimeTypeGenerator.Initalize() in D:\Projects\Study\SUBD\Sources\IIOPChannel\BoxedValueTypeGenerator.cs:line 78
Best regards
col. Fadman Kassad AKA Shrike
Re: IIOP - .NET to .NET (Кусок лабы доделать)
От: Аноним  
Дата: 16.12.08 20:16
Оценка:
Здравствуйте, KassadShrike, Вы писали:

KS>Нужно сделать пункт Два варианта распределенных СУБД (с реализацией клиентов и серверов), используя по своему выбору две технологии из нижеперечисленных: Java RMI/JRMP, Java RMI/IIOP, EJB, Net Remoting, IIOP Net.

KS>СУБД написана... как видно из списка истинный .NET-чик выберет Net Remoting и IIOP Net. Но код на Net Remoting — работает а на IIOP Net нет.




Вместо tcp://localhost:7778/RemotingServer, надо iiop://localhost:7778/RemotingServer
Вот хороший пример для iiop .Net to .Net
http://iiop-net.sourceforge.net/doc/dotmugs04/iiop_dotmugs04_demo.zip
ЗЫ: У тебя препод случайно не Кузенко?
Re[2]: IIOP - .NET to .NET (Кусок лабы доделать)
От: KassadShrike Украина  
Дата: 17.12.08 17:59
Оценка:
Здравствуйте, Аноним, Вы писали:

Ответ через год мало мне чем поможет

А>Вместо tcp://localhost:7778/RemotingServer, надо iiop://localhost:7778/RemotingServer

Это нашел и исправил, но все равно не работает на полную катушку... iiop десериализирует только simple value...

А>ЗЫ: У тебя препод случайно не Кузенко?

случайно, да...

но год назад сдал... по новоу шаблону
Best regards
col. Fadman Kassad AKA Shrike
Re: IIOP - .NET to .NET (Кусок лабы доделать)
От: Аноним  
Дата: 18.12.08 09:28
Оценка:
Здравствуйте, KassadShrike, Вы писали:

KS>Нужно сделать пункт Два варианта распределенных СУБД (с реализацией клиентов и серверов), используя по своему выбору две технологии из нижеперечисленных: Java RMI/JRMP, Java RMI/IIOP, EJB, Net Remoting, IIOP Net.

KS>СУБД написана... как видно из списка истинный .NET-чик выберет Net Remoting и IIOP Net. Но код на Net Remoting — работает а на IIOP Net нет.

Кузенко?
Re[2]: IIOP - .NET to .NET (Кусок лабы доделать)
От: KassadShrike Украина  
Дата: 18.12.08 21:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, KassadShrike, Вы писали:


KS>>Нужно сделать пункт Два варианта распределенных СУБД (с реализацией клиентов и серверов), используя по своему выбору две технологии из нижеперечисленных: Java RMI/JRMP, Java RMI/IIOP, EJB, Net Remoting, IIOP Net.

KS>>СУБД написана... как видно из списка истинный .NET-чик выберет Net Remoting и IIOP Net. Но код на Net Remoting — работает а на IIOP Net нет.

А>Кузенко?


Да, только год назад
Best regards
col. Fadman Kassad AKA Shrike
Re[3]: IIOP - .NET to .NET (Кусок лабы доделать)
От: Andy77 Ниоткуда  
Дата: 19.12.08 02:25
Оценка:
Здравствуйте, KassadShrike, Вы писали:

А>>Кузенко?


KS>Да, только год назад


Вот это да! КУ, ф-т кибернетики?
Re[3]: IIOP - .NET to .NET (Кусок лабы доделать)
От: Аноним  
Дата: 19.12.08 07:59
Оценка:
Здравствуйте, KassadShrike, Вы писали:

KS>Здравствуйте, Аноним, Вы писали:


KS>Ответ через год мало мне чем поможет


Я на дату сообщения как-то не глянул, год 2008 и хорошо

А>>Вместо tcp://localhost:7778/RemotingServer, надо iiop://localhost:7778/RemotingServer

KS>Это нашел и исправил, но все равно не работает на полную катушку... iiop десериализирует только simple value...

Сначала свой обьект преобразуй в byte[] с помощю сериализации, а потом передавай этот массив, и десереализируй на стороне клиента

А>>ЗЫ: У тебя препод случайно не Кузенко?

KS>случайно, да...

KS>но год назад сдал... по новоу шаблону


А я вот щас парюсь, думаю как веб интерфейс делать
Re[4]: IIOP - .NET to .NET (Кусок лабы доделать)
От: KassadShrike Украина  
Дата: 19.12.08 18:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Сначала свой обьект преобразуй в byte[] с помощю сериализации, а потом передавай этот массив, и десереализируй на стороне клиента

А>А я вот щас парюсь, думаю как веб интерфейс делать
Я как раз с байтом и сделал... сделал у базового объекта deserialize и кидал метаинформацию и byte[]
Best regards
col. Fadman Kassad AKA Shrike
Re[4]: IIOP - .NET to .NET (Кусок лабы доделать)
От: Аноним  
Дата: 19.12.08 18:54
Оценка:
Здравствуйте, Andy77, Вы писали:

A>Здравствуйте, KassadShrike, Вы писали:


А>>>Кузенко?


KS>>Да, только год назад


A>Вот это да! КУ, ф-т кибернетики?

Wahrheit, только заочно и зае№;%ся учиться... да и работаю столько же сколько учусь... и ничему интересному меня и новому нинаучили... обычное убийсво времени для получения синей бумажки + прохождение минимум 3-4 летней давности артефактофф
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.