チャット アプリケーションを構築したいと考えていますが、アプリケーションの構築にソケットと RMI のどちらを使用するかについて迷っています。RMI をインターネット経由で構成および展開するのは難しいと聞いたことがあります。それが私の意図であるため、ソケットと RMI のどちらを使用するのがより適切であるかを考えていました。また、ソケットまたは RMI の NAT により、問題を解決しやすくなりますか?
後で音声サポートを追加したい場合はどうすればよいですか?
1.チャットメッセンジャーのようなアプリケーションの場合、私の賭けは Sockets.
2. ここでオーバーキルにRMI
なります。
3.さらに、NAT
問題は静的IPに関するものではありません。Socket
RMI
4.チャットサーバーをネット経由で展開する場合は、最初に静的IPを用意する必要があります。または、ISPに追加料金でチャットサーバーを提供するように依頼する必要があります。そうでない場合は、インターネット経由でサイトがあります。動的IPを静的にします。
5.ただし、サーバーがLAN環境にローカルに配置されている場合は、問題はないと思います。
どちらも、チャットサーバー/クライアントの構築に使用できる妥当な選択肢です。ソケットは、着信接続を取得し、「チャッター」ごとに新しいスレッドを開始するように設定できます。あるいは、RMIを使用して、クライアントがメソッドを呼び出すことができる分散オブジェクトを作成することもできます。
RMIは基本的に、ある程度の透過性が必要であり、リモートメソッドを呼び出す必要がある分散コンピューティングでよく使用されるソケット上のレイヤーです。また、サーバーへのステートレス接続も可能です。
サーバーをRMIに実装することを選択した場合は、スレッドセーフが問題になる可能性があることに注意してください。
ローカルサーバーの場合は、純粋なソケットを使用する方がおそらく簡単です。
RMIの詳細については、 http ://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.htmlを参照してください。