• 締切済み

先頭パケットおよび最終パケットの区別について

こんばんわ。 winsockを用いてC言語によるプログラミングを行っています。 先頭パケットおよび最終パケットの区別方法はどのように行うべきなのでしょうか? たとえば、送信端末から受信端末へパケットを100個送信するとします。送信端末において100個パケットを送信した場合、受信側にて100パケットのうちどのパケットが一番初めに受信したパケットかは分かりません。 そこで、各パケットにシーケンス番号1から100番まで各パケットに付加し送信しているのですが、シーケンス番号1番のパケットを受信側で受信できるとは限りません。 そこで、なにかよい方法はありますでしょうか? 100個すべて受信できるとは限らないため、タイマーをセットする必要性があるのでしょうか? よろしくお願いいたします。

みんなの回答

  • oi_goo
  • ベストアンサー率44% (20/45)
回答No.2

winsockとかプログラミングはまったく詳しくないので恐縮ですが…. #1さんがおっしゃる通りだと思います. データ(パケットとかフレームとか面倒なのでここはデータ)の保証性に関しては, 一般的にTCPの仕事なのでその辺はTCPに任せ,TCPより上位レイヤーの仕事に専念すれば良いと思います. (winsockの担当範囲がわかっていないので嘘書いてるかもしれませんです) > 先頭パケットおよび最終パケットの区別方法はどのように行うべきなのでしょうか? TCPに聞くと教えてくれます.(多分) # パケット(とかシーケンス)は読めますが聞き方はわかりません.orz

回答No.1

パケットの順序が不定だということやシーケンス番号を自前で付けておられるようなのでUDPを使われていると思いますが、内容を保障したいのであればTCPにしてはいかがでしょうか。 TCPであれば自前でシーケンス番号やタイマを用意しなくてもよいと思うのですが…。

関連するQ&A