-1

同じネットワーク上にあるUnixマシンに保存されているデータを使用して、WPF(コードビハインドとしてC#)を使用してWindowsOSでアプリケーションを作成しています。私のアプリには、Unixマシンと通信してデータを取得し、Windows UI(WPFで作成)に表示する方法が必要です。

私のアプリは、ブロードキャストを介してネットワークに接続されているすべてのUnixマシンを知る必要もあります。

上記の要件について、WPFアプリケーションを使用してUnixマシンに接続するための最良の方法は何ですか?

4

2 に答える 2

1

使用するデータがファイルベースの場合は、UNIXでftpサーバーまたはsambaサーバーを使用できます。sambaサーバーの利点の1つは、ブロードキャスト機能があり、netbiosを介してネットワーク内のリソースを検出できることです。これは、ブロードキャスト要件に準拠します。

ファイルベースのストレージでは不十分な場合は、Webサービスを検討してください。.NETでアプリケーションを作成しているので、Unix側でMonoを使用するのが最も簡単です。WPFアプリケーションからの要求をリッスンするWebサービスをMonohttp ://www.mono-project.com/Writing_a_WebServiceで作成できます。

このソリューションは、パフォーマンス、スケーラビリティ、および移植性の点で最高ではないことを認めますが、.net開発者にとっては最速です。

アプリがUNIXマシンのリストを知る必要があることに関する他の要件は、より複雑です。ブルートフォースアプローチは、UNIXマシンが稼働したときに通知をリッスンするマスターサーバーを用意することです。そのリストがWPFクライアントに提供されます。

よりパフォーマンスの高いポータブルなソリューションを求めていて、より多くの開発リソースがある場合は、これらのフレームワークの1つでUNIX側にRESTフレームワークを使用してRESTfulサービスを実装できます。

開発時間の観点から最も複雑なアプローチは、ベアTCPIPを使用することです。それには、クライアント側とサーバー側の両方で多くのコーディングと、それを安定させるための長いプロセスが必要になります。繰り返しますが、それはデータの相互作用がどれほど複雑になるかによって異なります。

于 2013-01-15T06:48:26.590 に答える
0

「同じネットワークにあるUnixマシンに保存されたデータを使用して」データベースにあると仮定すると、ある種のORM(NHibernateなど)をお勧めします。

于 2013-01-15T04:59:51.463 に答える