json ペイロードとそうでないものについてのプロトコルを開発する必要があります。たとえば、tcp/ip ソケットを介して、開始文字を書き込み、次に json ペイロード、終了文字を書き込みます。このようにして、ソケットでの読み取りは、メッセージの開始時と終了時を認識します。複数のjsonペイロードを処理したい特定のケースでは、区切り文字が必要になります。
そのため、開始、終了、および区切り文字を選択するのはあなた次第です。使用できるキャラクターは多数あります。いくつかの選択肢については、ASCII/HEX テーブルを見てください。ただし、印刷できない文字に固執するのが最善です。そうしないと、ペイロードにこれらの文字が含まれる可能性がある状況に遭遇します。
その場合は、エスケープ シーケンス用に別の文字セットを開発する必要があります。つまり、begin、end、および区切り文字を定義すると、これらの文字はペイロードでは無効になり、送信側でエスケープ シーケンスに置き換える必要があります。これはまた、ペイロードを初期状態に戻すことができるように、受信側がこれらのエスケープ シーケンスを正しい文字に戻す必要があることを意味します。
たとえば、プロトコルを次のように定義できます。
[begin] = 0x02 // Hex for Start of text
[end] = 0x04 // Hex for end of end of transmission
[separator] = 0x03 // Hex for end of text
or
[begin] = 0x0B // Hex for Vertical Tab
[end] = 0x1C // Hex for file separator
[separator] = 0x1E // Hex for record separator
次に、tcp/ip ソケット (ワイヤ) を通過するメッセージは次のようになります (ここで、....... はメッセージ間の時間です)
[begin][json payload][separator][end].......[begin][json payload][seperator][json payload][separator][json payload][separator][end].......
そのため、begin が見つかるまで、ネットワーク上で読み取るコードを作成する必要があります。次に、セパレータが見つかるまでペイロードを保存します。次に、セパレーターの後の次の文字が終了チャーター ループでない場合は、次のペイロードを格納します。
Google で MLLP (Minimum Lower Level Protocol) を検索することもお勧めします。