Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
ioctl() を使用して、ソケット プログラムでバッファ内の文字数を読み取ります。ただし、バッファの読み込みが遅れると、ioctl() によってメッセージの終わりとして誤って解釈されることがあります。着信メッセージの長さを知るために ioctl() を使用する場合、どうすればこれを回避できますか。また、受信するメッセージのサイズがわからないため、静的バッファー recv() で受信することはできません。
ありがとう、マノジ
メッセージのメッセージ サイズ部分を、できれば先頭のバイトにします。つまり、残りのメッセージの最初の 2 バイト サイズを作成します。このようにして、2バイトの読み取りが完了するまで待機する必要があることがわかります-その後、メッセージのサイズを読み取ります。