WinSock関連の質問をします。

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: WinSock関連の質問をします。

状況の補足です

by Canalime » 2005年6月03日(金) 23:38

server.domainの部分は実際にはYahoo等で実験しています。
上で書いたコードの元になっているCD-ROMに入っていた
コードでも同様のエラーが発生します。
サンプルの方も私が抜き出した方もいずれも
プロジェクトオプションは正しく設定してあります。
サンプルをリリースコンパイルして実行すると何故かメールが送信できました。

どうしてデバッグで例外が出るのでしょう?
もしかしてWinsockを利用するに当たって
停止させるとまずいサービスとか相性の悪いソフトとかがあるのでしょうか?
それともDLLファイルか何かがおかしいという可能性もあるのでしょうか?

とりあえず・・・

by situmon » 2005年6月03日(金) 15:22

下にある、
http://www.discoversoft.net/forum/viewt ... 5dc1b9397d
この記事を参考にしてみてください。
サーバが無いなら、この記事中の私の作ったツールで実験してみてください。

by hira » 2005年6月03日(金) 14:31

私の環境ではちゃんと動作しましたよ。
"server.domain" の部分を現実に存在するサーバー名に変えてみてはいかがですか?

by c » 2005年6月03日(金) 14:23

Win32API: WSAStartupの説明に

※プロジェクト内でこの関数を使用するときは、プロジェクトオプション(メニュー「表示」→「プロジェクトオプション」)の「ソケットAPIを使用する」にチェックを入れて下さい。

と書いてあったんですがこれはOKですか?

WinSock関連の質問をします。

by Canalime » 2005年6月03日(金) 14:03

ABOUG 6-5のプログラムコードを元に
WinSockの使い方を勉強しているのですが、
CD-ROMにあったサンプルがデバッグ実行でさせると
必ず例外処理エラーが発生してしまいます。
以下がそのコードの一部です。
サンプルの中のGUIに関する部分を取り除いたものです。

何故かgethostbynameを実行すると例外処理になります。
また、WSAStartupはエラーを出していません。
あと、wsaData.szDescriptionの値が「WinSock 2.0」になっていたので
一応MAKEWORD(2,0)にしてみましたがダメでした。
ちなみにWin2000SP4上のAB4.01で実行しています。

コード: 全て選択

Sub SendMailThread()
    Dim buffer[255] As Byte
    Dim szServerName[255] As Byte      'Server名
   lstrcat(szServerName,"server.domain")

    'WinSock Ver1.1の初期化
    Dim wsaData As WSADATA          'ソケットの初期化情報
    WSAStartup(MAKEWORD(1,1),wsaData)

    'Serverを探す
    Dim lpHost As *HOSTENT          'ホスト情報
    lpHost=gethostbyname(szServerName)

ページトップ