The project of U-WA-
http://uwa.potetihouse.com/
トップページ > 過去ログ > 記事閲覧
アイコン 【TKMP】接続失敗の原因
日時: 2009/08/27 15:13
名前: MMTRS

いつもありがたくTKMPを使わせて頂いています。

PopClientクラスのConnectメッソドがFalseになる原因について教えて頂きたいと思います。
ただ、私の環境がVS 2008(VB)、.NET Framework 3.5なため、
対象外や動作未確認などの状況でしたら申し訳ありません。

PopClientクラスを使用してメールの受信を行っていますが、
ホスト、ユーザーID、パスワード等が同じ設定でも
PopClient.Connect() = Trueの場合と、PopClient.Connect() = Falseの場合と、
PopClient.Connect()でソケットエラーが発生する場合があります。
ソケットエラーの場合にはエラーコードに対応した処理を行っています。

Connect() = Falseとなったときの通信ログ確認したところ、
PopClient > USER ****@******
PopClient < +OK Tell me your password.
PopClient > PASS *********
PopClient < -ERR Lies! Try again!
となっていました。

接続に失敗した前後には正常に接続・受信ができているので
パスワードが間違っていることはありませんので、
その他に上記のような応答が返ってくる原因というとどういったものが考えられますでしょうか?

Page: 1 |

ファイル Re: 【TKMP】接続失敗の原因 ( No.1 )
日時: 2009/08/28 07:54
名前: Toki◆pRU.c9X.EOI

>-ERR Lies! Try again!
これは明らかにサーバーがログオンを拒否しています。

パスワードが正しくても接続が出来ない原因として思い当たるのは、

・前回の接続がログオフされる前に新しくログオンしようとしている
・同様の理由で他のプログラムがログオンしているタイミングと衝突している
・接続回数が多くてサーバーが一時的に接続を一定時間拒否している

などが考えられます。
ファイル Re: 【TKMP】接続失敗の原因 ( No.2 )
日時: 2009/08/28 09:05
名前: MMTRS

回答ありがとうございます。
少し勉強不足だったかもしれません・・・。お手数おかけしました。

挙げて頂いたもののうち、最初の件に関してはそうならないようプログラム内で制御しています。
接続が衝突しないよう他のプログラムによるメールチェック等はすべて止めてありますので、
2つ目が原因でもなさそうです。
3つ目に関してですが、確かに開発中のアプリケーションの動作テストとして、
1分間隔で接続を行っていましたので、これが原因というのが濃厚かと思います。

プログラム内での接続時の制御について、もう少し検討してみたいと思います。

ありがとうございました。
ファイル Re: 【TKMP】接続失敗の原因 ( No.3 )
日時: 2009/09/09 16:12
名前: MMTRS

再び質問させて頂きます。

Connect()メソッドでソケットエラー(HostUnreachable:10065)が発生したときに
接続を閉じてすぐに再度Connect()をしてみたところ、
通信が開始されずに即時Falseが返ってきました。

原因と回避策等わかりましたらご教授願います。

Page: 1 |