recvfromを介してパケットの一部を受信しようとしています。実際には次のように機能します。
recvfrom(sockfd, serialised_meta, 12, flags, src_addr, addrlen);
recvfrom(sockfd, serialised_buf, BUFLEN, flags, src_addr, addrlen);
データは次のように送信されます。
bufd->Serialise(serialised_buf, BUFLEN+12);
sendto(sockfd, serialised_buf, BUFLEN+12, flags, dest_addr, addrlen);
したがって、アイデアは、最初にいくつかのメタデータを読み取り、次に何か他のものを受け取るかどうかを決定することです。問題は、2番目のバッファ(serialised_buf)の場合、最初に4'/0'バイトを受け取ることです。シリアル化の問題ではないようです。以前はシリアル化を使用していましたが、パケット全体(メタとデータ)を一度に受信している間、すべてがクールでした。それをどのように修正できるかについてのアイデアはありますか?
PS。不要なバイトをスキップできることは理解しています)しかし、とにかく、なぜそれが起こっているのでしょうか?