V0.81b:ダイヤルアップ接続No.04087
江袋 さん 01/02/23 20:26
 
秀まるおさんへ

鶴亀メールを自宅のダイヤルアップ環境でも使い始めたのですが、以下
のような不具合と思われる現象が出ているので報告します。

【現象】

 アカウントが4つあり、そのうちの1つだけが異なるダイヤルアップ
先に接続されるように設定している。(もちろん POPサーバも異なる)
 このとき、どちらか片方にダイヤルアップしてメール受信など行った
のち、それを切断。もう一方にダイヤルアップしてメール受信しようと
すると、pop サーバが見つからず、接続に至らない。
 一旦鶴亀メールを終了させると、さきほど接続できなかった先に接続
できるようになるが、今度はもう片方が同じように接続できない。

【再現性】

 あります。

OSはWin 95です。ご確認下さい。

[ ]
RE:04087 V0.81b:ダイヤルアップ接続No.04090
ひろ さん 01/02/24 12:03
 
 江袋さん今日は、ひろです。
>  アカウントが4つあり、そのうちの1つだけが異なるダイヤルアップ
> 先に接続されるように設定している。(もちろん POPサーバも異なる)
>  このとき、どちらか片方にダイヤルアップしてメール受信など行った
> のち、それを切断。もう一方にダイヤルアップしてメール受信しようと
> すると、pop サーバが見つからず、接続に至らない。
 この機能をそのまま実装するには、アカウントごとに接続先を選択可能に
する必要があると思いますので、その件については当然コメントできないの
で飛ばします。

 ただし現状で、
(1)「接続」は「Windows 側にまかせる」にして Windows で制御できないか?
(2) POP サーバが見つからないだけなら、互いの接続先や「TCP/IP」の設定
で DNS サーバを追加しておけば出来ないか? またこの場合、「「POP
before SMTP」を使う」が ON にする必要があるかもしれません。
(今これを書いているハードはダイアルアップの設定をしていないので、具
体的にはかけませんm(_|_)m。)
を確認されては如何でしょうか?

[ ]
RE:04087 V0.81b:ダイヤルアップ接続No.04095
秀まるお さん 01/02/24 16:26
 
 鶴亀側の「動作環境・接続」の状態と、Windows側のダイヤルアップ関係の設定が
どうなってるか教えて欲しいです。

 後者とは、つまり、アプリケーションソフト側でどこにもダイヤルアップしない設
定の場合に自動でダイヤルアップするようになっているかどうかとかって話ですが…。

 前者が「Windowsにまかせる」になっていて、後者がどこかに自動ダイヤルアップ
するようになっていれば、送受信の前に必ずダイヤルアップ接続する作りにはなって
るはずです。(手元のソースコードを追う限りはですが)

 あと、Internet Explorerのバージョンも教えて欲しいです。もしかして古い場合
だと、「Windowsにまかせる」にしていても自動ダイヤルアップしない場合がありえ
ます。

 あ、あとあと、「全般的な設定・特別」の「デバッグモード」をONにして、送受信
しようとしてもダイヤルアップしない時の様子を再現させて、dump.txtの様子を見て
みていただけるともっとありがたいです。

    RASSUB::EnsureOnline()

 という記録が確かに出ているようなら、「Windowsにまかせる」のための処理をそ
れなりにやってることになります。また、特定のダイヤルアップ接続先を指定してい
る場合には、

    RASSUB::Connect()

 という記録が出ます。

[ ]
RE:04095 V0.81b:ダイヤルアップ接続No.04101
江袋 さん 01/02/25 08:20
 
ひろさん、秀まるおさん、コメントありがとうございます。

> 鶴亀側の「動作環境・接続」の状態と、Windows側のダイヤルアップ関係の設定が
>どうなってるか教えて欲しいです。

設定状況は次の通りです。
(ダイヤルアップ接続は鶴亀側に任せず、その都度自分で接続・切断を
しています)

〔鶴亀〕
「動作環境・接続」
・Windows 側に任せる
・切断しない

〔Windows 側〕
「インターネットオプション・接続」
・ダイヤルアップの設定:ダイヤルしない
・自動設定:設定を自動的に検出/自動設定のスクリプトを使用:OFF

・IEのバージョン:5.00.3105.0106(sp1)

> あ、あとあと、「全般的な設定・特別」の「デバッグモード」をONにして、送受信
>しようとしてもダイヤルアップしない時の様子を再現させて、dump.txtの様子を見て

こちらのほうは長いので、秀まるおさんにDMしておきますね。

もっと情報が必要でしたらおっしゃって下さい。

[ ]
RE:04101 V0.81b:ダイヤルアップ接続No.04114
秀まるお さん 01/02/26 10:15
 
 とりあえず、Windows98 + IE5.0のマシンでテストしてますが、うまく再現しませ
ん。送っていただいたログを見ても、EnsureOnline()の記録が確かに出ているような
ので、鶴亀メールがオフライン状態のままになってる訳ではなさそうです。

 Windows95OSR2 + IE5.5の環境はあるんですが、それ用のモデム(カードモデム)
が自宅に置きっぱなしなので、そちらのテストは明日ってことにさせていただきます。

 昔、NetMailメーリングリストにて、ダイヤルアップ接続してても「サーバーが見
つからない」のままになる症状が報告されていて、これは仕様でどうしようもならな
いという話があったような気がするんですけど、あれと同じ症状だったりするのだろ
か?。だとすると、たしかそのときはIPアドレスを直接指定することで解決したと思
います。

 一度、サーバーのIPアドレスを直接指定してやってみてどうなるかも試していただ
けるとありがたいです。あと、それでうまくいくとしたら、MS-DOSコマンドプロンプ
トで「ping ホスト名」としたときにちゃんとつながるかどうかも確認してもらえる
となおありがたいです。

[ ]
RE:04114 V0.81b:ダイヤルアップ接続No.04116
江袋 さん 01/02/26 11:10
 
秀まるおさんへ

> Windows95OSR2 + IE5.5の環境はあるんですが、それ用のモデム(カードモデム)
>が自宅に置きっぱなしなので、そちらのテストは明日ってことにさせていただきます。

Win 98だと起こらないという情報を見て、もしやWin 95固有の問題かと
思い、同じこと(*1)を Tera Term Proを使ってPort 110で試してみたと
ころ、見事に同様の現象(*2)が再現してしまいました。

IPアドレスの直接指定は、ともに変動アドレスのようで難しそうなので
「まいったなぁ」というのが正直なところですが、まあ、アカウントを
変えて受信するときは鶴亀メールを終了するといった方法で逃げること
ができる問題なので、そのように割りきって使おうかと思います。

取り急ぎご報告まで。

(*1)アプリを終了せず、2種類のダイヤルアップを使って別々のメール
サーバに接続してみる。
(*2)アプリを一旦終了して再起動すると接続するが、アプリが起動した
ままだと接続できない。

P.S.
OSをアップするしかないかぁ……ガクッ。

[ ]
RE:04116 V0.81b:ダイヤルアップ接続No.04163
秀まるお さん 01/02/27 11:46
 
 Windows95OSR2 + IE5.5 のノートパソコンにてテストしましたが、うまく再現しま
せん。

 うちでテストしたのは以下の通りです。

 1. 鶴亀メールを起動
 2. mitene(地元のプロバイダー)に手動でダイヤルアップ接続。
 3. www.maruo.co.jp上にある自分のメールを受信。
 4. miteneから手動で切断。
 5. NIFTYに手動でダイヤルアップ
 6. www.maruo.co.jp上にある自分のメールを受信。
 7. niftyから手動で切断。

 っと、以上の操作で何も問題はありませんでした。

 ちなみにノートパソコンにはLANカードは刺さってなくて、カードモデムでしかイ
ンターネットにつながらない環境です。もしかしてLANカードが刺さっていると動作
が違ってくるかもしれません。あるいはIE5.5なら大丈夫という話かもしれないで
す。???

 ちなみにLANカードを刺して抜いて、その後モデムカードを刺してテストしたら、
そもそもインターネットの接続がおかしくなりました。これはこれでWindowsかドラ
イバーか何かのバグみたいですけど。

[ ]
RE:04163 V0.81b:ダイヤルアップ接続No.04170
江袋 さん 01/02/27 14:44
 
> 1. 鶴亀メールを起動
> 2. mitene(地元のプロバイダー)に手動でダイヤルアップ接続。
> 3. www.maruo.co.jp上にある自分のメールを受信。
> 4. miteneから手動で切断。
> 5. NIFTYに手動でダイヤルアップ
> 6. www.maruo.co.jp上にある自分のメールを受信。
> 7. niftyから手動で切断。
>
> っと、以上の操作で何も問題はありませんでした。

動作確認ありがとうございます。

ちなみに、こちらで確認したときは6.の部分が3.とは別のメールサーバ
ですので、もしかしたらその辺の関係もあるのかもしれないですし、

> ちなみにノートパソコンにはLANカードは刺さってなくて、カードモデムでしかイ
>ンターネットにつながらない環境です。もしかしてLANカードが刺さっていると動作
>が違ってくるかもしれません。あるいはIE5.5なら大丈夫という話かもしれないで
>す。???

も気になるので(∵LANカード内臓ノートPC)もう少し条件を絞り込
んで動作確認してみたいと思います。

[ ]
RE:04170 V0.81b:ダイヤルアップ接続No.04173
秀まるお さん 01/02/27 16:09
 
> ちなみに、こちらで確認したときは6.の部分が3.とは別のメールサーバ
> ですので、もしかしたらその辺の関係もあるのかもしれないですし、

 6.の部分で別のサーバーにしてみたら、見事に再現しました。ちなみにIPアドレス
を直接指定した場合にはうまくいきました。

 Internet Explorerでも同じ現象が起きるかどうか試してみます。Internet
Explorerでも起きるなら直しようのない問題だと思います。しいて直すとしたら、
「ドメイン名->IPアドレス変換」の処理だけ別プロセスでやらせるかですねぇ。

[ ]
RE:04173 V0.81b:ダイヤルアップ接続No.04174
秀まるお さん 01/02/27 16:22
 
>  Internet Explorerでも同じ現象が起きるかどうか試してみます。

 IEだとうまくつながってしまいます。ということは、直す手段はあるのやら?。

 とにかく調べます。

[ ]
RE:04174 V0.81b:ダイヤルアップ接続No.04189
江袋 さん 01/02/28 07:31
 
> IEだとうまくつながってしまいます。ということは、直す手段はあるのやら?。
>
> とにかく調べます。

お手数をおかけしております。

今朝、こちらでもいろいろと調べようと思っていましたが、片方のプロ
バイダにうまく接続できず(プロバイダ側の問題らしい)作業は滞って
おります。

秀まるおさんのほうで何か解決の手段が見つかったら幸いですが、先日
ご報告したように別のアプリ(Tera Term Pro) でも鶴亀メール同様の現
象が再現していますし、最悪の場合は、一旦鶴亀メールを終了するとい
ったように、使い方で逃げてもいいと個人的には思っています。

といったところで、取り急ぎご報告まで。

[ ]
RE:04189 V0.81b:ダイヤルアップ接続No.04190
江袋 さん 01/02/28 08:07
 
>今朝、こちらでもいろいろと調べようと思っていましたが、片方のプロ
>バイダにうまく接続できず(プロバイダ側の問題らしい)作業は滞って
>おります。

プロバイダが復旧したので、今度は同じことを AL-Mail32で試しました
が、やはり鶴亀メール、Tera Term Pro 同様の現象が再現しました。

こうなると、どうしてIEはうまくいってしまうのかが問題ですが、いず
れにせよ秀まるおさんの正式見解を待ちたいと思います。

[ ]
RE:04190 V0.81b:ダイヤルアップ接続No.04204
秀まるお さん 01/02/28 11:54
 
 今、Windows98のマシンでも正しい再現手順でやり直したらうまく再現してしまい
ました。

 んでもって、接続の度にWindowsのソケットライブラリの初期化(WSAStartup関
数)を呼ぶようにしても解決しませんでした。

 他にはこれといって初期化する方法が無いので、しいてやるならwsock32.dllを
FreeLibraryしてLoadLibraryしなおすか、それでもダメならドメイン名->IPアドレス
変換を別プロセスでやるかって話になってしまいます。

 あとはKnowledge Baseかどこかを検索するしかないです。

[ ]
RE:04204 V0.81b:ダイヤルアップ接続No.04205
江袋 さん 01/02/28 12:10
 
> んでもって、接続の度にWindowsのソケットライブラリの初期化(WSAStartup関
>数)を呼ぶようにしても解決しませんでした。

がーん、Win 98でもダメだったということは、単にOSを変えただけでは
解決しない問題だったんですね。

あまり面倒なことを鶴亀メールにやらせたくないと思うのですが、最後
にひとつだけ素朴な疑問を……。

鶴亀メールを起動し直すと接続できるようになるというのは、

> 他にはこれといって初期化する方法が無いので、しいてやるならwsock32.dllを
>FreeLibraryしてLoadLibraryしなおすか、それでもダメならドメイン名->IPアドレス
>変換を別プロセスでやるかって話になってしまいます。

に書かれている DLLリロード相当の処理になるのでしょうか!?

これが簡単に実現できるのなら解決の糸口がつかめるのかなぁと……。
(あくまでも Windowsアプリ開発の素人考えですが)

[ ]
RE:04205 V0.81b:ダイヤルアップ接続No.04209
秀まるお さん 01/02/28 17:39
 
 wsock32.dllおよびwininet.dllをFreeLibraryしてからLoadLibraryしなおすように
直してもダメで、結局、別プロセスでgethostbynameするように修正したら直りまし
た。

 鶴亀内部で3回再試行して、それでエラーコードが11001以上だったら別プロセス
にてホスト名の取得をするようにしました。

 これでやっと直りました。(3回再試行してしまうけど、まぁこれは仕方がないと
いうことで)

[ ]
RE:04209 V0.81b:ダイヤルアップ接続No.04211
江袋 さん 01/02/28 17:44
 
> これでやっと直りました。(3回再試行してしまうけど、まぁこれは仕方がないと
>いうことで)

おおっ!! 半ばあきらめていただけにこれは朗報です!!

さっそく次期バージョンが出たら確認したいと思います。

本当にありがとうございました。

[ ]
RE:04209 V0.81b:ダイヤルアップ接続No.04291
江袋 さん 01/03/05 08:03
 
> 鶴亀内部で3回再試行して、それでエラーコードが11001以上だったら別プロセス
>にてホスト名の取得をするようにしました。

ご報告がちょっと遅くなりましたがV0.83bで動作確認したところ、1つ
目のアカウントの接続が完了し、それを切断したあとで2つ目のアカウ
ントの接続を開始して

>****受信:@nifty
>I サーバーを検索中 - pop.nifty.com

というメッセージが出て1分くらい経ってから

>I エラーコード=11002、再試行
>I サーバーを検索中 - pop.nifty.com
>E pop.nifty.com というホストが見つかりません。

というメッセージが出て、ホスト名は再取得されているような感じです
が、うまく動作していないようです。

デバッグメッセージは下記の通り。取り急ぎご報告まで。

07:50:25.490 (2981) LeaveTrans()
07:50:34.880 (3896) ProcessCommand 40003
07:50:34.880 (2968) EnterTrans(), dwRet = 0
07:50:34.880 (2976) EnterTrans() entered
07:50:34.940 (1886) ProcessTransmitSub()
07:50:34.990 ( 313) CSock::CSock()
07:50:34.990 (1974) ProcessTransmitSub() new pSock
07:50:34.990 (1992) ProcessTransmitSub() ModelessDialog, TransDlgProc
07:50:34.990 (  50) SilentDialogBox()
07:50:35.050 (1451) TransDlgProc() WM_INITDIALOG
07:50:35.100 (1469) IDTIMER_START set
07:50:35.100 (1523) IDTIMER_START kill
07:50:35.160 ( 353) RASSUB::Connect()
07:50:35.760 (4132) DialogBox2() template=209
07:50:42.520 (4134) DialogBox2() exit
07:50:42.520 (  50) SilentDialogBox()
07:50:58.780 (  95) EndSilentDialog()
07:50:58.830 (  90) SilentDialogBox() exit
07:50:59.000 ( 537) CSock::StartRecvSub()
07:50:59.880 ( 365) CScok: WSAStartup() done
R +OK Proxy-POP server (DeleGate/5.9.13 by xxxxx@xxx.xx.xx) at xxxxxxxx-x st
arting.
S USER xxx@xxxx.xx.xxxxxxx.xxx
R +OK enter password for APOP/DeleGate: +OK POP-3 xxxxxxxxx.xxxxxx.xx.xxxxxx
x.xxx - Sun Internet Mail Server - sims.4.0.2000.05.17.04.13.p6 at Mon, 5 Ma
r 2001 07:51:04 +0900 (JST)  <5129.28633.983746264@xxxxxxxxx.xxxxxx.xx.xxxxx
xx.xxxx
S PASS ****
R +OK Mailbox open, 0 messages
S STAT
R +OK 0 0
S QUIT
R +OK BYE
07:51:02.950 ( 396) CSock::PostExit()
07:51:02.950 (1736) TransDlgProc() WM_TURUKAME_SOCKET_END
07:51:02.950 (1765) IDTIMER_START post
07:51:02.950 (1523) IDTIMER_START kill
07:51:02.950 (1538) IDTIMER_END set
07:51:03.280 (1716) IDTIMER_END kill
07:51:03.280 (  95) EndSilentDialog()
07:51:03.340 (1779) TransDlgProc() WM_DESTROY
07:51:03.340 (  90) SilentDialogBox() exit
07:51:03.340 (1994) ProcessTransmitSub() ModelessDialog, TransDlgProc exit
07:51:03.340 ( 329) CSock::~CSock()
07:51:03.340 (2009) ProcessTransmitSub() delete pSock
07:51:03.390 (2059) ProcessTransmitSub() exit
07:51:03.390 (2981) LeaveTrans()
07:51:03.390 (4577) StartAutoDownTimer()
07:51:03.390 (4593) StopAutoDownTimer()
07:51:11.300 (3896) ProcessCommand 40003
07:51:11.300 (2968) EnterTrans(), dwRet = 0
07:51:11.300 (2976) EnterTrans() entered
07:51:11.300 (1886) ProcessTransmitSub()
07:51:11.300 ( 313) CSock::CSock()
07:51:11.300 (1974) ProcessTransmitSub() new pSock
07:51:11.300 (1992) ProcessTransmitSub() ModelessDialog, TransDlgProc
07:51:11.300 (  50) SilentDialogBox()
07:51:11.300 (1451) TransDlgProc() WM_INITDIALOG
07:51:11.300 (1469) IDTIMER_START set
07:51:11.350 (1523) IDTIMER_START kill
07:51:11.350 ( 353) RASSUB::Connect()
07:51:11.350 (4132) DialogBox2() template=209
07:51:15.640 (4134) DialogBox2() exit
07:51:15.640 (  50) SilentDialogBox()
07:51:25.960 (  95) EndSilentDialog()
07:51:25.960 (  90) SilentDialogBox() exit
07:51:25.960 ( 537) CSock::StartRecvSub()
E pop.nifty.com というホストが見つかりません。
07:53:26.090 ( 396) CSock::PostExit()
07:53:26.090 (1736) TransDlgProc() WM_TURUKAME_SOCKET_END
07:53:26.090 (1765) IDTIMER_START post
07:53:26.090 (1523) IDTIMER_START kill
07:53:26.090 (4146) DialogBox2Param() template=258
07:53:26.140 (1403) TransErrorDlgProc() WM_INITDIALOG
07:53:43.770 (4148) DialogBox2Param() exit
07:53:43.770 (  95) EndSilentDialog()
07:53:43.880 (1779) TransDlgProc() WM_DESTROY
07:53:43.880 (  90) SilentDialogBox() exit
07:53:43.880 (1994) ProcessTransmitSub() ModelessDialog, TransDlgProc exit
07:53:43.880 ( 329) CSock::~CSock()
07:53:43.880 (2009) ProcessTransmitSub() delete pSock
07:53:43.880 (2059) ProcessTransmitSub() exit
07:53:43.880 (2981) LeaveTrans()
07:53:43.880 (4577) StartAutoDownTimer()
07:53:43.880 (4593) StopAutoDownTimer()
07:53:53.220 (3896) ProcessCommand 40085
07:53:53.660 (4593) StopAutoDownTimer()
07:53:54.210 ( 895) 鶴亀終了

[ ]
RE:04291 V0.81b:ダイヤルアップ接続No.04295
秀まるお さん 01/03/05 10:25
 
 まいどどうも。僕の所ではその「11002」のエラーがすぐに起きるんですが、なぜ
か江袋さんの所では1分くらい経過しないとエラーにならないんですね。

 一応、僕の所のWindows95OSR2とWindows98の両方で確認したので大丈夫だと思った
んですが…。

 んではプロセス内で再試行するまでもなく、常に別プロセスを使って「ホスト名->
IPアドレス変換」するように修正してみます。

[ ]
RE:04295 V0.81b:ダイヤルアップ接続No.04428
江袋 さん 01/03/12 06:51
 
> んではプロセス内で再試行するまでもなく、常に別プロセスを使って「ホスト名->
>IPアドレス変換」するように修正してみます。

ご連絡が遅くなりましたが、本件はV0.84b/85bで解決されており、快適
に利用させて頂いております。

対応ありがとうございました。

[ ]