問題タブ [flatbuffers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
272 参照

javascript - ベクトルを FlatBuffer テーブルに追加できません (Javascript)

私はFlatBuffers Javascript チュートリアルに従っていますが、非スカラー項目のベクトルを次のオブジェクトに追加する際に問題があります:

ご覧のとおり、ルート オブジェクトにはChannelオブジェクトのベクトルが含まれています。JavaScript コードは正常に生成されましたが、テスト データを作成しようとすると、チャネルが正しく追加されていないようです。これは私が試したものです:

これにより、バッファを含むファイルが呼び出さcc-test.dataれ、追加しようとするチャネルの数に関係なく、バッファは常にまったく同じになります。また、次のようにデータを解析してみました。

これは、毎回ControlChannel has 0 channels を出力するだけです。私は何が欠けていますか?

0 投票する
1 に答える
508 参照

c# - FlatBuffers C# CreateSortedVector と LookUpByKey

FlatBuffers でディクショナリをシリアル化したい。Dictionary に相当するものがないことはわかっていますが、 https://github.com/google/flatbuffers/blob/master/docs/source/JavaCsharpUsage.mdによると、ベクトルをキー フィールドで並べ替えてからキーを検索できます。そこの Github ページから FlatBuffers 1.4 をダウンロードし、dll をコンパイルしました。しかし、スキーマを作成してプロジェクトで使用すると、メソッド CreateSortedVectorOfTables はありません。通常の CreateVector メソッドのみが使用可能です。また、LookUpByKey メソッドも見つからないようです。

これは私のテストスキーマです:

ソートされたベクターを作成する方法を教えてもらえますか?

前もって感謝します。

0 投票する
3 に答える
144 参照

java - テーブルから文字列を読み取るときのindexOutOfBoundException

何らかの理由でフラットバッファから文字列を読み取るときに、IndexOutOfBoundsExpetion を取得しています。私のスキーマ:

これは私がバッファを書いている方法です:

これらは私のモデルです:

lucene データベースがあり、そこからデータをフラットバッファ メッセージに取得しようとしています。バッファを作成するときにエラーは発生しませんが、最初のバッファからバッファを読み取るときに IndexOutOfBoundsExeption が発生します。確認しましたが、解析時に文字列が null ではありません。

0 投票する
1 に答える
681 参照

flatbuffers - テーブル オフセットを追加した後、フラットバッファが検証に失敗する

私はこれをあまりにも長い間見つめてきましたが、それは私が間違っていることだと確信しています. テーブル メンバーを追加しようとした後、フラットバッファが検証に失敗します。構造体の先頭に整数のみを追加すると、正常に検証されます。

ルート スキーマ:

上記のスキーマの「C」構造定義

ubyte_table のスキーマ:

ubyte_tableの構造体定義

test_int_value のみを追加する場合のバイト バッファー:

ubyte_table追加時のバイトバッファ

コードは次のとおりです。

検証失敗のスタック トレース

0 投票する
1 に答える
580 参照

c# - 既存の FlatBuffers オブジェクトを FlatBufferBuilder C# に追加する

環境テーブルを含む 2 つのテーブルがあります。

名前が示すように、最初のテーブルは、多くの制御クライアントの 1 つによって作成され、サーバーに送信される要求です。サーバーはエラー コード (結果) で応答します。結果が SUCESS の場合、RESPONSE_SCENARIO_CHANGE_ENVIRONMENT_M がすべてのクライアントに送信されます。このようにして、環境が 1 つずつ正常に変更された場合、その事実がそれぞれに通知されます。

私の質問は、RESPONSE_SCENARIO_CHANGE_ENVIRONMENT_M を作成しているコードに適切に設定された環境オブジェクトが既にあるため、取得することは可能ですか?

問題は

FlatBuffers.Offset<Environment>から取得することは可能Environmentですか?

0 投票する
1 に答える
605 参照

c++ - ディスクから読み取った FlatBuffer オブジェクトを適切に削除する方法

ディスクから圧縮データを読み取り、解凍し、FlatBuffer スキームから生成された「Cell」オブジェクトを作成します。

ここまでは順調ですね。しかし、どうすればアイテムを削除できますか? 後でバッファデータにアクセスすることはできないためです。

0 投票する
1 に答える
1688 参照

c - ZeroMQ C の単純なフラットバッファの例 - zmq を介して構造体をフラットバッファにコピーし、再び構造体に戻す

後世のために私の作品を投稿します。最後の例を C++ で書き終えた後、実際にはずっと C で行う必要があることに気付きました (すごいですよね?)。どちらの反復も、Java プログラマーとしてかなりの労力を要しました。そこにあるサンプル コードの多くは、あまりにも多くの穴を残していると思います。プロジェクトを構築し、依存関係を処理するために、Eclipseと言います。

brew で OSX の依存関係をインストールする方法:

brew install flatcc
brew install zeromq

すべての標準ビルダー バイナリもインストールする必要があります。gcc を使用してコンパイルしました。

gcc publisher.c -o bin/zmq_pub -lzmq -lflatcc
gcc subscriber.c -o bin/zmq_sub -lzmq

これは、brew がインストールを完了した後に /usr/local/include にシンボリック リンクされる zmq および flatcc ライブラリがインストールされていることを前提としています。このような:

zmq_cpub $ls -la /usr/local/include lrwxr-xr-x 1 user group 37 Oct 18 18:43 flatcc -> ../Cellar/flatcc/0.3.4/include/flatcc

次のようなコンパイル エラーが発生します Undefined symbols for architecture x86_64:。ライブラリが正しくインストール/リンクされていない場合。コンパイラ/リンカーは関数の名前を変更し、それらの前に _ を付けて、あなたを混乱させる可能性があります。. があるはずUndefined symbols for architecture x86_64 _flatcc_builder_initがないのに_flatcc_builder_init

これは、C / C++ でのライブラリのリンクが Java とは根本的に異なるためです。JAR を追加する特定のプロジェクト ビルド パスの代わりに、外部 C / C++ ライブラリをインストールできる既知の場所があります。/usr/local/include/usr/local/lib/usr/lib、および/usr/include

flatcc バイナリをパスにインストールした後、ローカル プロジェクトで使用するヘッダー ファイルを生成することを忘れないでください。

flatcc -a Car.fbs

これは、Cレーンを下る旅で直面したほとんどすべての障害であるはずです. それが誰かを助けることを願っています。

0 投票する
1 に答える
591 参照

java - FlatBuffers ライブラリと生成されたソースを Android Studio プロジェクトにインポートする

さまざまなデータ ペイロードをパックおよびアンパックするための潜在的なソリューションとして、FlatBuffersを評価しています。flatc.exe をビルドし、データのスキーマを構築し、スキーマから Java コードを生成しました。私は今、生成されたコードを使用しようとしています。

この概要は次のように述べています。

その後、FlatBuffer と生成されたコードの両方を含めて、FlatBuffer を読み書きできます。

そして、例では次のようにします。

1) 生成されたコードを新しいモジュール/Java ライブラリ、依存関係、またはその他としてインポートする必要がありますか? これはどのように行われますか?

2) com.google.flatbuffers.FlatBufferBuilderのインポートも解決しません。この参照が変更されたかどうか知っている人はいますか?

これらのアイテムをインポートする方法について、Android の初心者に提供できるヘルプに感謝します。

ありがとう。

0 投票する
1 に答える
240 参照

json - フラット バッファを使用したシリアル化のための動的 ID と特殊文字

以下のようなJsonデータがあります

私のfbsはこのように見えます

Google フラット バッファを実装しようとしていますが、次のようなエラーが発生します

  1. alarm.fbs:4:0: エラー: 不正な文字: !
  2. alarm.fbs:23:0: エラー: 不正な文字: $ (フラット バッファの動作をテストするために !type から ! を削除し、$ をドルに変更しましたが、動的 ID を変更できません)
  3. Sample.json:25:0: エラー: 不明なフィールド: 12279

今、私の質問は、

  1. フラット バッファで動的 ID を使用することは可能ですか?
  2. ID に特殊文字を使用できますか? 可能であれば、その方法は?

前もって感謝します。