Проблемы с NamedPipeWrapper v1.5 - C # IPC - PushMessage ведет себя странно - PullRequest
0 голосов
/ 18 апреля 2019

У меня проблемы с NamedPipeWrapper V1.5 (https://github.com/acdvorak/named-pipe-wrapper) при попытке установить связь между двумя процессами.

Соединения успешно установлены, но фактический обмен сообщениями не работает при компиляции.

Смущает то, что когда я использую пошаговую отладку в Visual Studio, отправляется PushMessage. Когда я просто запускаю код, функция PushMessage не работает, и я не могу обернуть головупочему.

Я прочитал о включении пользовательского класса сообщений вместо использования строки для сообщений и создал сериализуемый класс, который должен использоваться для сообщения. К сожалению, это не помогло.

Код сервера:

private readonly NamedPipeServer<Message> _server = new NamedPipeServer<Message>("SomePipeName");
private readonly ISet<string> _clients = new HashSet<string>();

public MainWindow()
{
   InitializeComponent();

  _server.ClientConnected += OnClientConnected;
            _server.ClientMessage += delegate (NamedPipeConnection<Message, Message> connection, Message message)
            {
                MessageBox.Show(message);
            };
 _server.Start();
}


private void OnClientConnected(NamedPipeConnection<Message, Message> connection)
        {
            _clients.Add(connection.Name);
            MessageBox.Show("This works! Connected"); //This part works fine
        }

Связанный код клиента:

public static readonly NamedPipeClient<Message> _client = new NamedPipeClient<Message>("SomePipe");

public static void Main(string[] args)
{
_client.Start();

_client.PushMessage(new Message() { Text = "hey there!" });

_client.WaitForDisconnection();
}

Класс сообщения:

        [Serializable]
        public class Message
        {
            public string Text { get; set; }
        }

Я добавил часть _client.WaitForDisconnection () как частьрешение проблемы, но это не имело никакого значения.

Любая идея приветствуется! :))нг кстати, работаю над этим!:))

...