/ / Potrzebujesz sposobu komunikacji z maszyną uniksową za pomocą aplikacji WPF [zamknięte] - wpf, unix

Potrzebujesz sposobu na komunikację z maszyną Unix przy użyciu aplikacji WPF [closed] - wpf, unix

Tworzę aplikację w systemie operacyjnym Windows przy użyciuWPF (kod C # z tyłu) z danymi przechowywanymi na maszynie uniksowej, która jest w tej samej sieci. Moja aplikacja potrzebuje sposobu komunikacji z maszyną Unix, aby uzyskać z niej dane i wyświetlić je w interfejsie użytkownika Windows (utworzonym w WPF).

Moja aplikacja będzie musiała także znać wszystkie maszyny Unixowe podłączone do sieci za pośrednictwem emisji.

Jaki jest najlepszy sposób połączenia z maszynami Unix za pomocą mojej aplikacji WPF dla wyżej wymienionych wymagań?

Odpowiedzi:

1 dla odpowiedzi № 1

Jeśli dane, których chcesz użyć, są oparte na plikach, tymoże używać serwerów ftp lub samba na Uniksie. Jedną z zalet serwera samba jest to, że ma możliwość nadawania i umożliwia odkrywanie jego zasobów w sieci za pośrednictwem netbios. Będzie to zgodne z wymaganiami dotyczącymi nadawania.

Jeśli pamięć oparta na plikach nie wystarcza, rozważ usługę internetową. Ponieważ piszesz aplikację w .NET, najłatwiej będzie ci używać Mono po stronie Uniksa. Możesz napisać serwis internetowy w Mono http://www.mono-project.com/Writing_a_WebService które będą nasłuchiwać żądań z twojej aplikacji WPF.

Przyznaję, że to rozwiązanie nie jest najlepsze pod względem wydajności, skalowalności i przenośności, ale jest najszybsze dla deweloperów .net.

Drugi wymóg dotyczący Twojej aplikacjimusi wiedzieć, że lista maszyn uniksowych jest bardziej skomplikowana. Podejście Brute Force polegałoby na posiadaniu serwera głównego, który będzie nasłuchiwał powiadomień z maszyn unixowych, gdy tylko się pojawią. Da tę listę klientowi WPF.

Jeśli chcesz wybrać bardziej wydajne, przenośne rozwiązanie i masz więcej zasobów programistycznych, możesz zaimplementować usługę odpoczynku po unixie za pomocą jednego z tych frameworków REST

Najbardziej złożone podejście pod względem rozwojuczas jest używać samego adresu IP TCP. Będzie to wymagało dużo kodowania zarówno po stronie klienta, jak i serwera oraz długi proces stabilizacji. Znowu zależy to od stopnia skomplikowania interakcji danych.


0 dla odpowiedzi nr 2

„z danymi przechowywanymi na maszynie uniksowej, która jest w tej samej sieci” zakładając, że masz na myśli, że jest to baza danych, poleciłbym jakiś rodzaj ORM (np. NHibernate)