Rahul saraswat Ответов: 1

IPC (Межпроцессная коммуникация) в .Net C#


Привет,
Кто - нибудь может мне это сказать?...
Можете МПК удаленной работы на двух сетевых систем. Если да,то как ? Пожалуйста, помогите мне.
Я знаю о TCP ... он прекрасно работает. Я хочу знать только об IPC.

С я использую IPCChannel для удаленного взаимодействия в пространстве имен системы.Во время выполнения.Удаленное взаимодействие.Channels.Ipc. и я сделал два приложения, одно из которых является сервером, а другое-клиентом.Я зарегистрировал IPCChannel на сервере с помощью
Имя порта(9090). сервер-это не клиент, а другая система. а теперь я запускаю сервер. и когда я пытаюсь подключить свое клиентское приложение к серверу. затем я получаю погрешность...

"Не удалось подключить порт Ipc"

вот мой код с частью BL:

//Это моя бл часть
namespace RTMSyncStatusLib
{
    public interface IRTMSyncStatus
    {
        void SetServiceStatus(string status);
        string GetServiceStatus();
    }
    public class RTMSyncStatus : MarshalByRefObject, IRTMSyncStatus
    {
        private string ServiceStatus = string.Empty;
        public void SetServiceStatus(string status)
        {
            ServiceStatus = status;
        }
        public string GetServiceStatus()
        {
            return ServiceStatus;
        }
    }
}


//Это мой серверный код
IpcChannel channel = new IpcChannel("192.168.2.207:9090");
            ChannelServices.RegisterChannel(channel, false);
            RemotingConfiguration.RegisterWellKnownServiceType(typeof(RTMSyncStatusLib.RTMSyncStatus), "RTMRemoteStatus", WellKnownObjectMode.Singleton);
            Console.WriteLine("RTMSync Ststus Server is ready at "+DateTime.Now.ToString());
            Console.ReadLine();


//Это моя клиентская часть
IpcChannel ipcChannel = new IpcChannel();
                ChannelServices.RegisterChannel(ipcChannel, false);
                objRTMStatus = (RTMSyncStatusLib.IRTMSyncStatus)Activator.GetObject(typeof(RTMSyncStatusLib.IRTMSyncStatus), "ipc://192.168.2.207:9090/RTMRemoteStatus");
                if (objRTMStatus != null)
                {
                    timerRTM.Start();
                }
                else
                {
                    MessageBox.Show("Any Problem Occured! or RTMSync Status Server is not running!");
                }


плз с моим кодом. и помоги мне.

Спасибо

1 Ответов

Рейтинг:
1

Илья Агачкин

- Нет!

IPC-это именованный канал.
Может быть обеспечен только внутри машины