私はこのブログ投稿に出くわしました。これは、AkkaIOソケットサーバーに送信される文字列メッセージの固定長フレーミングを行う方法を示す、素晴らしくて啓発的なものでした。私はここで見つけたScalaBuffと呼ばれるオープンソースライブラリを使用してきました。これは、プロトコルバッファオブジェクトの上に素敵な薄いレイヤーを作成します。
私が抱えている問題は、ブログの作成者(直接連絡するためのリンクが見つかりませんでした)のコードを長さ(4バイトのシーケンス)、次にprotobufバイト配列に適合させることです。後でどのメッセージがネットワーク上にあるかを理解することについて心配することができます。今は、1つのサンプルメッセージでコードを機能させたいだけです。
私の問題は、AkkaIOコードをakkaByteStringsのプルから、protobufメッセージから生のバイトを送信およびプルできるように変換するのに問題があることです。これは、AkkaIOを使用するソケットサーバーに精通していないことの症状です。protobufオブジェクト(Zombie Sighting)のバイト表現に出入りすることはできますが、ブログからサンプルを取得して、文字列ではなくバイト配列で動作させることはできません。
ポイントA(上記のブログ投稿)からポイントB(AkkaIOソケットサーバーにprotobufメッセージを送信するAkkaIOソケットクライアント)に到達する方法について、アドバイス、サンプルコード、または入力がある場合。私はクライアントが働いていると思います..多分)、それは素晴らしいでしょう。