boost::asio udp ソケットを使用して UDP サーバーとクライアントを作成しました。データグラムの送信を開始する前は、すべて問題ないように見えました。それらはクライアントからサーバーに正しく送信されます。しかし、それらは私のバッファ内で 1 つのメッセージに統合されています。
私が使う
udp::socket::async_receive
std::array<char, 1 << 18 >
バッファ付
非同期リクエストを行うため。コールバックを介してデータを受信する
void on_receive(const error_code& code, size_t bytes_transferred)
データを頻繁に(10 ミリ秒ごとに) 送信すると、上記のコールバックを使用して複数のデータグラムを同時にバッファーに受信します。問題は、それらをどのように分離するかです。注: 私の UDP データグラムは可変長です。サイズの追加ヘッダーを使用したくありません。サードパーティのデータグラムに対してコードが役に立たなくなるためです。