2009-04-05 3 views
9

Могу ли я получить доступ к именованному каналу на компьютере A с компьютера B, заданного IP-адресом компьютера A? Если да, что мне нужно сделать, чтобы это произошло?Win32 именованные каналы и удаленные клиенты

+0

какая ОС? на каком языке вы используете? –

+0

Windows, C++. Сожалею! – 2009-04-05 17:48:53

+0

Правила для Windows и Unix/Linux различны - всегда важно знать, что именно. –

ответ

2

Именованные каналы могут использоваться для обеспечения IPC между процессами на разных компьютерах по сети. См. MSDN.

Если у вас Windows XP SP2, Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях, не забудьте включить именованную фильтрацию каналов. См. here.

12

Да, вы можете общаться по сети через именованные каналы. Необходимо указать имя канала как путь UNC:

\\computername\pipe\pipename

или через IP

\\192.168.0.100\pipe\pipename

Вы можете сделать это для любой машины локальной сети, или для любой удаленный компьютер, подключенный к вашей локальной сети через VPN.

Вы используете все те же функции Win32 API для труб, что и CreateFile. Чтобы создать канал, вы используете CreateNamedPipe.

Прежде чем вы сможете использовать удаленный канал, вы должны иметь действительное соединение с удаленным компьютером. Для этого вы должны использовать API, например WNetUseConnection. Или, если ваш компьютер находится в одном домене или имеет тот же u/p, вам вообще не нужно использовать WNetUseConnection.

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

+0

Вы не должны использовать WNetUseConnection. HANDLE htoken = NULL; \t LogonUser (L "username", L "domain", L "password", 9, 3, & htoken); \t \t \t int ret = ImpersonateLoggedOnUser (htoken); – Bluebaron

+1

Может ли кто-нибудь объяснить, как это работает на Linux, используя WLAN в качестве физического уровня соединения? –

1

Знайте, трубы под окнами кровавые ужасные. Есть много важных деталей, которые вам нужно, чтобы получить правильное решение, или они не могут произойти странно, и документация не до нуля.

Если вы можете, используйте разъемы.

Смежные вопросы