2011-01-25 8 views
1

私はJavaネットワークを使ってLANネットワーク上で非常に単純なファイル共有プログラムを作成しています。このソフトウェアは、ソケットとサーバーソケットのクラスを使用して、ユーザーがそのIPアドレスを知っているマシンと送受信します。 私は、このマシンに接続しようとしている他のマシンのユーザが特定のユーザ名で、接続が許可されているなど、ユーザがIPではなく他のマシンのユーザ名を入力できるようにソフトウェアを改善したいと考えています。Javaログインユーザー名リモートマシン

+0

ちょっと考えてみましょう:サーバーベースのアプリケーションを記述したとき、私はソケットを調べ、RMIに比べて面倒な作業だと感じました。また、RMIはマシン名もサポートしていると思います。 –

+1

ユーザー名はどういう意味ですか?ウィンドウ、ホスト名、ドメイン名、または何かの下のNetbiosの名前? – Dutow

+0

私はそのマシンの現在ログインしているユーザーのユーザー名を意味します – ehsun7b

答えて

0

解決策は、username -> IP (or hostname)のマッピングを維持しています。これはDHCPサーバーで行うことができますが、それは少し不安です(DHCPサーバーを設定できない場合は不可能です)ので、プログラム自体がマッピングを維持することをお勧めします。

マッピングを構築するには、これを試すことができます。ホストが上がると、ユーザの存在を知らせるLANブロードキャストメッセージがユーザ名とともに送信される可能性があります。通知を受信すると、他のホストは送信者ホストのIPとユーザー名を登録し、それぞれのユーザー名とIPアドレスで応答します。

+0

うわー、それは賢明な解決策です、私はそれを実装するために行くかもしれません。 – ehsun7b

0

常にオンになっているコンピュータで実行される個別のアプリケーションを作成し、ユーザー名に関連付けられたIPのリストを保持します。あなたのファイル共有アプリケーションはユーザー名を要求する "サーバー"に接続し、その代わりにファイル共有アプリケーションが他のコンピュータに接続するために使用するIPを返します。

関連する問題