- - PR -
ワイヤレス環境下での通信性能について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-11-12 00:33
こんばんは。
自分は、ノートPC2台を用いてアドホック通信を試みています。 送信側からUDPソケット(Windowsのsendto関数とrecvfrom関数)を使って、3Mバイト程度のmpegファイルを、受信側へ送信しています。シーケンス番号等も付加していません。受信側はwhileの無限ループを用いて、送信側からの1パケット1024バイトを随時受信しています。 送信側から3Mバイトのmpegファイルを送信したのですが、受信側では1Mバイト程度のファイルとなってしまっています。1Mバイトと言うのは、右クリック→プロパティに表示されているファイル容量にて確認しました。 ワイヤレス環境下で、かつUDPを使っていることでパケットロスが発生していると思っているのですが、3Mが1M程度のファイルになってしまうものなのでしょうか? 唐突な質問で申し訳ありませんが、よろしくお願いします。 |
|
投稿日時: 2005-11-14 16:01
NonBlockingモードにしてません?sendtoの戻り値は確認しています?sendtoがエラーになっていても気にせず送信してたりしません?
>ワイヤレス環境下で、かつUDPを使っていることでパケットロスが発生していると思っ >ているのですが、3Mが1M程度のファイルになってしまうものなのでしょうか? そんなの環境しだいだし・・・。無線LANなんてpingのパケットロスが数十%になっている可能性だってあるわけだし。気になるならあなたの環境でパケットキャプチャなどを用いて確認してみては? |
|
投稿日時: 2005-11-14 16:21
そんなたくさんのパケットをUDPというのが、そもそも怖いですね。
|
|
投稿日時: 2005-11-28 01:30
こんばんは。
書き込みありがとうございます。 大変、返信が遅れてしまい申し訳ありません。 私は、UDPソケットプログラミングよりで送信側→受信側へ、約3MByteのmpegデータを1024Bytずつ受信側へ送信しています。環境は、アドホックモードを用いたワイヤレス環境です。 パケットキャプチャリングソフトとして、Etherealを使用しました。フィルタリング機能を用いて送信元とポート番号を指定し、送信側から受信側へとパケットを送信しました。 [質問内容] ・Etherealでキャプチャをスタートすると、UDPパケットをカウントしていますが、トランスポートレベルでのキャプチャをしているということでよろしいんでしょうか? ・自分が作成したプログラムに、送信したパケット数をDOSプロンプト上に表示させる機能をつけたのですが、1024Byteのパケットを3041個送信しているはずなのに、Etherealで確認したところ、UDPパケットは150個程度しかカウントされませんでした。これは、何を意味するのでしょうか? [プログラミング環境] Windows XP Visual C++.NET よろしくお願いします。 |
1