プロが教える店舗&オフィスのセキュリティ対策術

VB6.0(SP5)で、TCP/IPの通信を作成しています
開発環境は、Windows2000(SP4)
実行環境は、WindowsXP Home(sp2)です

Winsockコントロールに以下の値を設定していますが接続時にエラー:WSAECONNREFUSED 10061 Connection refusedを返します

.LocalPort = 0
.RemoteHost = "localhost"
.RemotePort = 2010
.Connect
(.RemoteHost = "127.0.0.1"でも同じです)

しかし、
.RemoteHost = "192.168.0.110" 自身のIPアドレス
.RemoteHost = "COMP01" 自身のコンピューター名
を指定した場合エラーとなりません

何かアドバイスを頂ければお願いします

A 回答 (2件)

接続しようとしているサーバーも自作でしょうか?


だとしたら,そのサーバーがlocalhostに対してサービスを提供していないのでしょう.
TCP/IPサーバは,サーバのIPアドレスを指定することもできますししないこともできます.
アドレスを指定しなければ,そのマシンが持っている全てのIPアドレスでサービスを提供します(ご質問のマシンの例では,192.168.0.110と127.0.0.1ですね.サーバー側IPアドレスを指定してしまった場合は,そのアドレス限定でサービスを提供します.というわけで,192.168.0.110の2010番ポートだけ待ち受けている状況で127.0.0.1に接続しようとするとconnection refusedになります.

あとは,パーソナルファイヤウォールなどの設定の影響という可能性もありますが.
    • good
    • 0
この回答へのお礼

ありがとうございます
大変参考になりました

お礼日時:2006/04/16 21:25

ping 127.0.0.1


ではちゃんと反応があるんですか?
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!