2009-08-04 1 views
0

サーバーとクライアントを使用してマルチスレッドのチャットプログラムを作成しなければならないが、送信される各メッセージはXMLでなければならない。マルチスレッドのJavaサーバーとクライアントを作成するが、メッセージはXML形式でなければならない

Javaのすべてのコードを書き出してから、何らかの形で変更してメッセージをXMl形式で送信するか、単純にXMLで試してみてくださいそれがうまくいけばいい。私はXMLについてそれほど知らないと認めます。 :)

関連するオンラインヘルプ/チュートリアルへのリンクもありがとうございます。おかげさまで

答えて

1

JavaでXMLを使いこなす場合は、JAXBなどを使用することを検討してください。これは、メモリ内の通常のオブジェクトグラフを使用して作業し、その操作をXMLに直列化することができます(逆も同様です)。

DOM APIを使用してXMLを操作するのは、ゆっくりとした方法ですが、ごくわずかな量のXMLに対しては行いません。

私はプログラムがマルチスレッド化されているものを見るために失敗したり、サーバーは、XML RPCと呼ばれるものが

0

まったく独自のものを書く既存のXMPPクライアントとサーバーを使用していないが簡単になります。

これが実際に宿題であれば、すべてのJavaを使用して、メッセージとしてStringを使用するように、クライアントとサーバーを記述することをお勧めします。他のすべてのパーツが動作しているときに、XMLとの間で文字列の解析を簡単に追加できます。

0

私はBetwixtとDigesterも見てみることをお勧めします。 Digesterには、Digister-wikiにあるチュートリアルがあります。 Betwixtは、そのウェブサイトでかなり良いチュートリアルを提供しています。

さらにこれら2つのツールにhttp://wiki.apache.org/commons/Digester/WhyUseDigester

1

チェックアウトXStreamのリファレンスセクションで見つけることができる選択肢のリストがあります。これを使用して、通常のJavaオブジェクトをXMLにマーシャリングし、オブジェクトに戻すことができます。インターフェイスの定義やスキーマの指定など、何もする必要はありません。つまり、すでに定義したオブジェクトに対してそのまま使用できます。ほとんどの場合、デフォルトモードではシームレスです。

XStreamは、Javaオブジェクトの直接XMLシリアル化表現を生成します(つまり、XML要素はJavaオブジェクトの各フィールドを直接表します)。必要に応じてこれをさらにカスタマイズすることができます。スキーマ(XSD)の観点から永続オブジェクトを定義する場合は、適切ではありません。しかし、永続性が短期間であり、いくつかのスキーマに準拠することを心配していないオブジェクトを移送している場合、それは間違いなく使用されます。

XMLからPersonオブジェクトへ

  Person person = new Person("Brian Agnew"); 
      XStream xStream = new XStream(); 
      System.out.println(xStream.toXML(person)); 

と変換同様に自明です。

XStream is thread-safeに注意してください)

0

あなたは小片にタスクを打破しようとしている右ページにしています。

関連する問題