抜け落ちている番号を取得する方法(Winsock利用)
こんにちは。
A→Bというように、
送信端末Aから受信端末Bへパケットを送信する際に、sprintf関数を用いて、各送信パケットに対してナンバリングを行っています。
そして、受信端末において取得することができた番号と抜け落ちている番号を取得したいと思っています。
以下に、プログラムの概要を示します。
[送信側]
char send_Buff[1500];
int sequence_Num = 0;
//シーケンス番号のカウントアップ
sequence_Num++;
//sprintf関数にて、文字列格納
sprintf(send_Buff,"%d\0",sequence_Num);
sendto関数を使用し、送信
[受信側]
recv_Buf[1500];
int x;
unsigned int count = 0;
recvfrom関数にて送信端末からのパケットを受信し、recv_Bufに格納
count++;
//recv_Bufの先頭要素からナル文字までを走査し、ナル文字をみつけたらナル文字の手前の要素までをreceive_seq_Numに格納
for(x=0;recv_Buf[x]!='\0';x++){
receive_seq_Num[count][x] = recv_Buf[x];
}
上記プログラムのように、記述したのですが・・・
[分からない点]
受信側にて、受信することができた各パケットのシーケンス番号のみを配列内に格納したいのですが、上記の記述方法で可能でしょうか?
また、配列内に格納したシーケンス番号から抜け落ちているシーケンス番号を割り出したいのですが、どのような記述方法がありますでしょうか?
受信シーケンス番号;1,2,3,4,5,7,10,11,20,21,22・・・
抜け落ちているシーケンス番号:6,8,9,12,13,14,15,16,17,18,19
ということです。
よろしくお願いします。