酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

MSDNライブラリの「赤外線ファイル転送」でサンプルコードのミス?

MSDNフォーラムへのフィードバックの仕方がイマイチよくわからなかったのと、更新されたのが2年前なのですでに誰かが報告してるだろうから、メモ書き程度に残しておきます。

方法 : 赤外線ファイル転送を行う」のサンプルコードの、SendButton_Click()とReceiveButton_Click()のコードが逆です。

各メソッドの頭には「Click the Receive button first, then click Send.」のコメントがあり、受信アプリのReceiveボタン押下後に送信アプリのSendボタン押下するのを前提に考えられていると思うのですが、SendButton_Clickメソッドに以下のコードがあります。

IrDAListener irListen = new IrDAListener(irEndP);
irListen.Start();

これでは、送信処理内で接続待ち(ソケットを待機状態にして接続監視)が発生しています。これだといつまで経っても送信する事ができません。

正しいコードを参照する場合は、System.Net.Sockets.IrDAClientクラスのサンプルコードを見るとよいかもしれません。