2012-10-26 18 views
14

Czy jest jakiś (działający) przykład tworzenia RPC z Windows na Linuksa?RPC od Windows do Linuksa

Klient powinien być aplikacją Windows NT, serwer jest linuxem.

To potrzebuje na MSRPC.

Nie Corba, nie XML-RPC, SUN-RPC itp

MSDN mówi this:

RPC może być stosowany we wszystkich aplikacji klient/serwer oparty na systemie Windows systemów operacyjnych. Może być również używany do tworzenia programów dla klientów i serwerów dla heterogenicznych środowisk sieciowych, które obejmują takie systemy operacyjne, jak Unix i Apple.

Niestety po spędzeniu kilku godzin na google poddaję się.

moje oczekiwania:

  • węzeł Linux powinien mieć zainstalowany samba, ponieważ ich realizacja MSRPC działa.
  • Korzystanie plik IDL wygenerować odcinki zarówno dla klienta, jak i serwera
  • Klient jest zbudowany przy użyciu MSVC
  • Server jest zbudowany przy użyciu gcc niektóre includes/bibliotek z samby (lub innymi bibliotekami)
  • węzeł Linux musi mieć takie Port RPC mapper

Czy ktoś może mnie wskazać?

+2

Nie mogę zrozumieć, dlaczego to pytanie zostało poddane ścisłemu głosowaniu ... jeśli to pytanie zasługuje na zamknięcie, to lepiej zamknij stackoverflow całkowicie. – yms

+0

Ponieważ implementacja serwera samba jest wystarczająco zaawansowana, aby umożliwić nawet integrację z domeną Active Directory, powiedziałbym, że to, co chcesz zrobić, jest możliwe, ale część "używania pliku IDL do kodów pośredniczących dla serwera" Nie jestem taka pewnie ... Mam nadzieję, że się mylę. – yms

+0

@ dziękuję za komentarz.Jestem pewien, że kluczową częścią rozwiązania jest samba, ale nie mam dokładnego pomysłu. Oferuję nagrodę za moje pytanie w ciągu 2 dni, aby zyskać więcej uwagi i być może próbkę kodu roboczego :) – rkosegi

Odpowiedz

5

Chyba masz 2 możliwe sposoby radzenia sobie z tym:

1- można spróbować użyć DCOM with wine, co oznacza, że ​​będzie faktycznie napisać kod dla okien, ale w tym samym czasie można testować wyniki w procesie i unikaj używania wywołań WinAPI, których wina nie jest w stanie prawidłowo obsłużyć. To podejście pozwoli ci wygenerować kod pośredniczący z twoich plików IDL.

2- Możesz spróbować użyć Samba RPC Pluggable Modules, ale obawiam się, że w tym przypadku komunikacja RPC będzie bardziej prymitywna.

Edit:

Wydaje istnieje wiele innych sposobów. Znalazłem listę bibliotek w DCOM-Wikipedia, j-Interop na przykład wygląda szczególnie obiecująco.

+0

Przy okazji znalazłem te dwie informacje, to nie tak, że czekałem na nagrodę, żeby to opublikować :) – yms

+0

Dziękuję, przeczytałem o winie i usłyszałem, że jest kompatybilny z binarnymi, ale nie sieciowo (przewodowo) kompatybilny z MS-RPC.Jednakże, dzisiaj studiuję źródło Samba4 i wygląda bardzo obiecująco. Spróbuję twoich sugestii z modułami wtykowymi, kiedy skończę, twoja nagroda :) Wygląda na to, że nikt inny nie może powiedzieć nic cennego poza tobą. Jeśli znajdziesz coś innego, proszę zachować moje aktualizacje. Dzięki! – rkosegi

+0

@rkosegi Znalazłem coś, co wygląda interesująco. – yms