Я написал клиента, который подключается к серверу через именованный канал, и он отлично работает с моим сервером. Тем не менее, когда я пытаюсь подключиться к удаленному серверу, происходит сбой при вызове Connect () и выдается «Запрос не поддерживается исключение», и я понятия не имею, что это значит (попытался посмотреть на msdn, не помогло).
Это соответствующий фрагмент кода. Я уверен, что сервер и путь существуют, потому что другой клиент (чей источник я не вижу, но я знаю, что он использует nxpipe) может подключиться к нему.
NamedPipeClientStream stream = new NamedPipeClientStream(serverName, pipeName, PipeDirection.InOut);
stream.Connect(timeout);
У кого-нибудь есть идеи, что это значит?
Спасибо.
РЕДАКТИРОВАТЬ (РЕШЕНО):
Вы НЕ ВЕРЬТЕ, в чем проблема. Во-первых, парень, который заказал приложение, забыл запустить серверное приложение и открыть канал, поэтому мы часами пытались выяснить, что происходит, предполагая, что канал открыт на удаленной машине. После того, как он вспомнил, что забыл запустить серверное приложение (несколько дней спустя), у нас все еще были проблемы. На тот момент я уже написал клиент, использующий каналы .NET, и нативные каналы, использующие CreateFile. Оказывается, парень также забыл сказать нам полное имя канала (странно, что мы получили «запрос не поддерживается» для неверного имени канала). К счастью, у нас было приложение, которое они использовали ранее, в котором часть имени этого канала была жестко запрограммирована (и часть, которую вы все еще должны были указать), поэтому мы использовали обозреватель процессов, чтобы выяснить полное имя канала и, наконец, подключились. Теперь это работает: |