学校でのプログラミング プロジェクトでは、tcp プロトコルと udp プロトコルを使用して、基本的なクライアント/サーバーのセットアップを設計する必要があります。C ソケット ライブラリの read() と write() を使用して、TCP が動作するようになりました。「信頼できる UDP」システムを作成する必要があります。例えば:
「サーバーが長さメッセージを受信すると、そのバイト数が送信されるまで最大500ミリ秒待機します。正しいバイト数を受信すると、文字「ACK」を含む文字列で応答します(一般的な省略形)タイムアウト期間の終わりまでに正しいバイト数を受信しない場合、サーバーはあきらめて、黙って終了します。」
sendto() および recvfrom() 関数をセットアップしましたが、2 番目のメッセージが送信されるまで 500 ミリ秒しか待機しないようにタイムアウト機能を実行する方法がわかりません。また、「ACK」を受信せず、長さの msg + msg を数回再送信しない場合は、後でクライアント側でそれを行う必要があります。タイムアウトを行うにはどうすればよいですか?