2017-03-21 17 views
0

私はUsing TCPについてのドキュメントを読んでおり、シンプルなTCPがサーバからどのようにデータを受信するかを理解しようとしています。サーバーは、接続されたすべてのクライアントにデータのストリームを送信しましょう。Akka IO TCP受信データ

case Received(data) => // do some with data, where data: ByteString 

したがって、dataとは何ですか。バイト単位のデータのサイズは?クライアントが何らかのデータを継続的に受け取っているということです。そのようなどれくらいのバイトが含まれていますか?data?それはどこに設定されていますか?

答えて

2

どこでも設定できません。あなたは、あなたが何らかのデータを与えることを決定した時点であなたに与えなければならない実装が起こったことを、あなたがまだ得ていないものを得る。

  1. 我々はいずれかが最後の通知からのデータを保存していた場合は、保存されたデータの最後に新しいデータを追加:次のように

    ような通知を処理するための一般的な方法です。

  2. 私たちが実装しているプロトコルに従ってメッセージ全体がない場合は、次の通知のために残りのデータを保存し、通知を再開して停止します。

  3. メッセージを処理します。

  4. 残っているデータがない場合(すなわち、1つのアプリケーションメッセージがあり、それ以上のバイト数ではない場合)、バッファは空であり、通知を再発行し、停止することに注意してください。

  5. 残りのデータで手順2に進みます。

関連する問題