OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

UDPソケット通信におけるデータパケット

  • 暇なときにでも
  • 質問No.185869
  • 閲覧数1397
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 75% (3/4)

UDPソケット通信をする際、受信データサイズとして考慮するべきサイズはアプリサイズとUDPヘッダー(8バイト)としてソケットオプションで受信バッファサイズを増加させたのですが、予想より受信できるパケット数が少ないです。

例)
1パケットのアプリサイズを10バイトしUDPヘッダーも考慮して実際1パケットあたり18バイトとして、最大5パケット受け取れるようにソケットオプションで
アプリサイズ(10バイト)× UDPヘッダー(8バイト)×パケット数(5)
上記のように設定したのですが、実際5パケットも受信できませんでした。

上記のほかにIPヘッダーなども考慮しなければならないのでしょうか?

開発環境:solaris8 C言語
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 40% (404/988)

こんにちは。

18バイトですか。たしか、Lengthは、オクテット単位でしたよね???

理論的に間違っていないなら、理論と実際の設定があってないのではないかと思うのですが・・・。

流れているパケットをアナライズしてみた方がいいと思います。実は、内部で擬似ヘッタがくっついて、アプリデータが入りきっていなかったりとかしません??
その際、Length値に注目してください。この値はヘッターを含む値です。
その設定がうまく行っているか。
設定の段階でここに10バイトが入ってしまうと、ヘッター分抜いて、2バイトしか入りませんし。

ソース内でどうしているかもわからないので、予測の範囲内ですが。
参考になれば。
でわ。
お礼コメント
tanakakuni

お礼率 75% (3/4)

ご回答誠にありがとうございます。

データをスニファーでキャプチャーした結果
UDPのlengthはアプリ(10)+UDPヘッダー(8)
計18バイトになっておりました。

ソースでは送信データサイズ(引数)を10としています。
関数はsendtoを使用しています。

個人的な見解なのですが、仮に内部で擬似ヘッタがくっついて、アプリデータが入りきっていないとした場合でも実際のデータ長は変わりないので、受信出来るパケット数は理論値通りだと推測されるのですが・・・
投稿日時 - 2001-12-22 22:17:12
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ