Поддержка именованных каналов Windows в Linux - PullRequest
5 голосов
/ 18 октября 2010

Я смотрю на проект, который потребует межпроцессного взаимодействия между устаревшим приложением Windows, использующим именованные каналы, и новой службой, работающей на сервере Linux. Приложение Windows не может быть изменено. Кто-нибудь знает, есть ли доступная библиотека Linux, которая поддерживает именованные каналы Windows? Или даже лучше, кто-нибудь может порекомендовать библиотеку, которую они использовали для этой цели?

Ответы [ 2 ]

12 голосов
/ 18 октября 2010

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

Возможно, вам лучше написать прокси на стороне Windows для сопоставления между именованным каналом и сокетом и подключить его к сокету на стороне Linux.Это обеспечит вам полезный сетевой интерфейс на стороне Linux в будущем и уберет из картины то, что может быть вредом от взаимодействия именованных каналов.

Если бы я делал это, я попытался бы создать простой сквозной прокси в C # (управляемый код) в качестве доказательства концепции.Всегда можно преобразовать в собственный код (Win32 / C ++), если пропускная способность не соответствует.Вот пример кода C # здесь , который может быть полезной ссылкой.

Вот справочная информация о нюансах именованных каналов Windows и Linux .

3 голосов
/ 18 октября 2010

Бьюсь об заклад, Samba / Winbind содержит весьма актуальный код. Не уверен, насколько это многоразово.

...