• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UDPソケット通信におけるデータパケット)

UDPソケット通信でのデータパケットの受信バッファサイズについて

このQ&Aのポイント
  • UDPソケット通信において、受信データサイズを考慮する際はアプリサイズとUDPヘッダーの合計だけでなく、IPヘッダーなども考慮する必要があります。
  • ソケットオプションで受信バッファサイズを増加させることはできましたが、実際に受信できるパケット数が予想よりも少ない問題が発生しました。
  • アプリサイズとUDPヘッダーの合計だけでなく、IPヘッダーなども考慮して受信バッファサイズを設定する必要があります。また、開発環境はsolaris8であり、C言語を使用しています。

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

  • ベストアンサー
  • Haizy
  • ベストアンサー率40% (404/988)
回答No.1

こんにちは。 18バイトですか。たしか、Lengthは、オクテット単位でしたよね??? 理論的に間違っていないなら、理論と実際の設定があってないのではないかと思うのですが・・・。 流れているパケットをアナライズしてみた方がいいと思います。実は、内部で擬似ヘッタがくっついて、アプリデータが入りきっていなかったりとかしません?? その際、Length値に注目してください。この値はヘッターを含む値です。 その設定がうまく行っているか。 設定の段階でここに10バイトが入ってしまうと、ヘッター分抜いて、2バイトしか入りませんし。 ソース内でどうしているかもわからないので、予測の範囲内ですが。 参考になれば。 でわ。

tanakakuni
質問者

お礼

ご回答誠にありがとうございます。 データをスニファーでキャプチャーした結果 UDPのlengthはアプリ(10)+UDPヘッダー(8) 計18バイトになっておりました。 ソースでは送信データサイズ(引数)を10としています。 関数はsendtoを使用しています。 個人的な見解なのですが、仮に内部で擬似ヘッタがくっついて、アプリデータが入りきっていないとした場合でも実際のデータ長は変わりないので、受信出来るパケット数は理論値通りだと推測されるのですが・・・

関連するQ&A