2 台のマシン間の通信に Java ソケットを使用しています。そのため、サーバーはメッセージを受信すると、それを処理して別のメッセージで返信します。TCP プロトコルを使用しています。
私の質問は、ネットワークが遅いと仮定します。次に、メッセージを送信した直後に、ソケットの InputStream.available() メソッドを呼び出すと、サーバーからソケットに利用可能な実際のバイト数を取得できますか?
また、メッセージが非常に大きい場合でも、 InputStream.available() は常にサーバーから送信されているバイトの完全な数を返しますか? TCP にはパケット制限があると聞きましたが、それは InputStream.available() に影響しますか?