Exemple #1
0
 public override bool УстановитьСвязь()
 {
     АдресВКучеУдаленнаяСвязь = (СвязьПамять)АдресУдаленнойСвязи.АдресВКуче();  // это для связи в памяти
     //АктивностьУдаленная = АдресВКучеУдаленнаяСвязь.РоднаяАктивность;
     //АдресВКучеУдаленнаяСвязь.АктивностьУдаленная = РоднаяАктивность;
     return(true);
 }
Exemple #2
0
        public override bool УстановитьСвязь()
        {
            try
            {
                _удаленныйКанал = (КаналПамятьПсевдо)((Связь)АдресУдаленнойСвязи.АдресВКуче()).Канал;
                _удаленныйКанал.УдаленныйКанал = this;

                УдаленнаяКомандаПолучи = _удаленныйКанал.Получи; // это сразу получается из адреса
                ПрерватьОжиданиеПотока();                        // порядок прерывания ожидания сначала далеко потом у себя
                return(true);
            }
            catch // адрес может быть еще не зарегистрирован
            {
            }
            return(false);
        }
Exemple #3
0
        public override bool УстановитьСвязь()
        {
            var каналУдСвязи = (КаналПамять)((Связь)АдресУдаленнойСвязи.АдресВКучеПамяти()).Канал;

            if (каналУдСвязи.ИсходящийПоток == null)
            {
                ВходящийПоток = new MemoryStream(100);       // буфер 100 байт
                каналУдСвязи.ИсходящийПоток = ВходящийПоток; // Дуплекс и один буфер (как в карте неизвестно)
                // если удаленный Исходящий не пуст, то оборвется существующая связь
                ИсходящийПоток = каналУдСвязи.ВходящийПоток;
                return(true);
            }
            else
            {
                return(true);
            }
        }