アプリ版:「スタンプのみでお礼する」機能のリリースについて

無線局から無線局へデータを飛ばしたいのですが、電波状況が悪く受信側に届かない場合があります。
そのような場合に同じ情報を再送するプログラムを作りたいのですが、よくわかりません。
どなたか教えていただけないでしょうか。
ちなみに送る情報は「0, 1, 2,…」と一定間隔で数字を増やしつつ送るプログラムです。

i = 0;
while (1) {
sprintf(buf, "%d,", i);
j = strlen(buf);
write(fd, buf, j);
printf("%s\n", buf);

sleep (2);

i++;
if (i >= 10) i = 0;
}

A 回答 (3件)

普通のtcpの3wayハンドシェイクで不十分なら、



受け取り先が受け取ったものを送り返して、送信元で確認する仕組みを作る。
送信元は確認が取れない場合は再送する。

受け取り先には、2度連続して同じデータを受けたした場合に
再送データであるかどうかを判断する仕組みをつける。

なにしようとしているんだかわからないけど、業務的なものだったら、
電波状態を改善するとか、有線にするとかを先に考慮すべきだよね。
    • good
    • 0

ベーシック手順とか勉強してみたら良いと思う

    • good
    • 0

・送信したら応答待ちタイマをスタート


応答あり-成功・タイマ停止・次を送信
タイマがタイムアウト-失敗・再送

受信側から応答がもらえないと無理
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!