1

サーバーがソケット接続を介して複数のクライアントと通信しています。私の元のプログラムでは、メッセージはPrintWriterとBufferedReaderを使用して送受信されていました。新しいメッセージが受信されたかどうかを確認すると、BufferedReaderによってすべてのメッセージが保存され、1つずつ読み取ることができました。

私は今同じことをしようとしていますが、ObjectOutputStreamとObjectInputStreamを使用してテキストではなくオブジェクト間で送信しています。ただし、クライアントまたはサーバーが新しいメッセージをチェックする前に複数のメッセージを受信した場合、クライアントまたはサーバーはそのうちの1つのみを処​​理します。

BufferedReader.readNext()に似たメソッドを、ObjectInputStream用にする方法はありますか?オブジェクトを送信するためのより良い方法はありますか?または、新しいメッセージを受信するたびに応答するリスナーを作成する方法はありますか?

ありがとう

4

1 に答える 1

1

ObjectInputStream#readObject()があり、ObjectInputStreamをBufferedInputStreamと組み合わせることもできます。

于 2010-10-12T02:22:33.657 に答える