2012-01-16 8 views
2

私は現在、Javaで非常に基本的なベアボーンインスタントメッセンジャーを作成しようとしています。インスタントメッセンジャー、Javaの基本プロジェクト

どこから始めればいいですか?ここに誰かが出発点を挙げることができるかどうか疑問に思っていましたか?私は何を読むべきですか?初心者/中級プログラマがこれを試して達成する最も簡単な方法は何でしょうか?

現在、私は、あるマシンに別のマシンにテキストを送ることができるようにしたいと思います。私は、これまでjavaに関連する何かネットワークに精通していません。サーバーを使用するか、2台のマシンを直接接続するだけですか?

この問題では、指針/指示やアドバイスは非常に役に立ちます。

答えて

2

まあ、私はあなたの2番目の質問に焦点を合わせています。

ローカルエリアネットワーク用にこのプログラムを構築していて、ソケットプログラミングを使用する予定の場合は、マシンの正確なIPアドレスを見つける必要があります。あなたがあなたがそれを走らせる前にIPアドレスを知ることを望まないならば、私はあなたがいくつかの同輩を見つけるまであなたがローカルIPアドレスをpingすることができます、あなたがipアドレスを知らないならば(私は意味します)。

p2pアプリケーションの中には、サーバーをipマッチャーとして使用するものがあります。つまり、サーバーには、すべてのユーザーがこれらのサーバーを使用してデータを送受信するためのIPアドレステーブルがあります。しかし、このプロジェクトでネットワーキングを始めたばかりの場合は、サーバーを使用しないでください。

最後に、自分のプロジェクトを見ることができます。これは、内部にチャットモジュールを備えた単純な並列文書作成プログラムです。これはC#で開発されました。無線アドホックネットワークが必要です。リンク:http://code.google.com/p/parallel-docs/

+1

ローカルIPアドレスをポーリングするのは良い考えではありません。また、2つのマシンを接続するためにIMプログラム*がサーバを必要とする可能性は非常に高いです。 – Jivings

+1

私はポーリングはベストアイデアではないと思っていますが、それは問題を解決する方法です。しかし、スタータープロジェクトでは、それを使うことができると思います。まず、receiver.javaやsender.javaのような2つのjavaプログラムを作成し、メッセージが正しく受信されて送信されるかどうかをテストします。その後、さらに発展させてクライアント/サーバまたはP2Pパターンを使用することができます – aacanakin

+0

これは私が探していた出発点の一種です!私はそれをしたいと思うが、最初は圧倒しているようで、どこから始めたらいいのかわからなかった。返事ありがとう、本当にありがとう! – Eogcloud

3

まず、Socket programmingの公式リソースをチェックしてください。クライアント/サーバーペアを作成する記事では、インスタントメッセンジャーの作成に必要な情報を提供しています。

0

私はこのタイプのプロジェクトはこれまでに初心者のプロジェクトになるとは思わない。私はあなたにそれを試すことを絶対に妨げていない、私はあなたがすべきだと思う。私は常にこのようなもので私の頭の上にあるが、私はそれを見て、質問し、通常何かを学ぶことを終了します。私のアドバイスは、コードにジャンプする前に編成するだけのものがあれば、それが何であるかにかかわらず、いくつかのクラス図から始めることです。たとえば、バットのすぐ下にあるユーザーアカウントオブジェクトが必要で、そのオブジェクトの特定の属性(ユーザー名、パスワードなど)が必要であることを知っている場合は、すべてをカプセル化します。これらのフィールドを設定します。私はそれを行うことによって、たとえ私が完全な適切なUMLダイアグラムを作成しなくても、簡単なものを取り除いていても、最初にやや整理されていれば、もっと複雑なロジックやものに集中することができなくても実装する方法を知っている。

+0

私はこれを6ヶ月前に終了しました。これは約80%完了し、かなりうまくいっています。 – Eogcloud

+0

ニース、あなたのプロジェクトにもインスパイアされました。完了した疎結合は... 2つのクライアントプログラムはサーバープログラムを介して通信することができますが、私はそれを置くサーバーを持っていないので、現時点ではポイントがないので、メトロノームプロジェクトに移りました。かなり簡単ですが、Sound APIと正確なスレッドタイミングの間に、私はいくつかの主要な道路ブロックに実際に入っています。あなたがhahaを使って作業できるかどうかを教えてください:-)。 –

関連する問題