クライアントとサーバー間の通信について質問があります。TCP unixソケットを介してデータを送信したいのですが(これを行う方法を知っています)、送信されたメッセージを完全に読み取る準備ができているかどうかをテストするためのベストプラクティスがわかりません(ブロックごとではありません)。
したがって、私はこれを考えています
- クライアントはフォーマットされたデータprintf(3)を送信し、メッセージは文字列で書き込まれて送信されます。
- サーバーはメッセージを受信しますが、メッセージがいっぱいの場合はどうすればよいですか?メッセージが完了するまでループする必要がありますか?
だから私の考えは、次のようにメッセージに追加されて追加されるコード(またはチェックサムかもしれませんか?)を使用することです:
[確認コード] my_long_data_formatted [確認コード]
次に、サーバーは2番目の検証コードが読み取られて正常にチェックされるまで、データの読み取りを試みます。
これはクライアント/サーバー通信の適切なソリューションですか?はいの場合、検証の境界について何をアドバイスしますか?