ソケットエラーを回避するには?

解決


挑戦者  2005-09-19 22:25:26  No: 17620

Windows Me + Delphi6 Parsonal を使っていての現象です。

ダイヤルアップ、又はLANが繋がっていると全く問題ないのですが、
ネットワークと遮断された状態でClientSocketに仕事をさせると
例えローカル(127.0.0.1)でもWindowsソケットエラー(11001)が出てしまい、
リトライしてやっとダイヤルアップのダイアログが出てくる状態。
(ローカルなのにダイアログが出る事自体もおかしい?)
同じ状態で参考にさせて頂いているソフト(VB製)は正常に接続されるので、
Delphi側の問題(設定・使い方・仕様)だと思います。
デバッグ時に出る'ファイル ScktComp.pas が見付かりません。'
が参考になればいいのですが・・・
この現象の回避方法をご存知の方、ご教授お願い致します。


Torisugari  2005-09-20 05:34:20  No: 17621

エラーの内容は下記で見てください
http://homepage1.nifty.com/yito/anhttpd/winsock_error.html
ScktComp.pas はProかEntでないと無いと思われますが。


挑戦者  2005-09-25 01:24:59  No: 17622

という事は、Delphi6 Parsonal ではスタンドアローンな
サーバ⇔クライアント  通信テスト環境は不可。という事でしょうか?
IP未取得時にLocal(127.0.0.1)にアクセスしたいのですが・・・
ちなみにNICのIPを固定してみても駄目でした。


おおさわ  2005-09-25 07:36:57  No: 17623

Indy という強力なエンジンがフリーで公開されていますので、そちらを使うのも一つの手かもしれませんよ。
http://www.indyproject.org/


挑戦者  2005-10-04 01:32:00  No: 17624

Indyをインストールしてキッチリlocal(127.0.0.1)にアクセスできました!
が、IdTCPClientにはClientSocketと同じOnRead処理はできないのでしょうか?
ぐぐったり色々と弄ったりしてみましたが分かりません。Timerでバッファの
中身を調べる処理だと激重でキー入力さえ受け付けてくれません。
受け取ったTEXTは表示してくれるのですが・・・


挑戦者  2005-10-05 03:07:27  No: 17625

ClientSocket.Host を IP('127.0.0.1') から 'localhost' に変更すると・・
  ・・・あらら、あっさりアクセス。意外な裏技っぽい解決でした。
80%くらいIndyに傾いてたんですが、逆転勝訴!って感じです(笑)
書き込み頂いた方々、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加