• 締切済み

ネットワークの状態の表示について

自作アプリを起動し、実行した後、再度、また実行しようとしたら 『対象のコンピュータによって拒否されたため、接続できませんでした。』 というエラーがかえって来ました。 このアプリではソケットを使用して、外部機器と接続しているのですが、 1回目の起動は特に正常終了で終わっているので、いいと思っています。 しかし、2回目をそのままの状態で実行すると、上記のエラーが 発生してしまいます。 そこで、何らかの方法でネットワークの接続状態や、または、もしかすると、 繋がりっぱなしかも知れないので、その時には切断させる方法など、 ありませんでしょうか。 OSはWIN2000です。 以上、よろしくお願いします。

みんなの回答

  • kusa_mochi
  • ベストアンサー率76% (1597/2087)
回答No.1

ソケットをオープンしたはいいが、クローズ処理をしないままにプログラムが終了した為、OS上にその接続の為のソケットが残ったので次回のオープン処理で排他が掛かり拒否されたということは無いだろうか? 要はプログラミングの基本をちゃんと守っているかという事なのだが。 現在どの様なソケット(セッション)が開かれているかは、コマンドプロンプト画面で netstat -ao というコマンドを入力すれば確認出来る。

loop_dog
質問者

お礼

遅くなりました。 いろいろ調べてたのですが、 netstat -aoというコマンドは WIN2000では対応していないようです。 あと、 >ソケットをオープンしたはいいが、クローズ処理をしないままに >プログラムが終了した為、OS上にその接続の為のソケットが残ったの >で次回のオープン処理で排他が掛かり拒否されたということは無い >だろうか? 確かに、その可能性は十分にあると思います。 自分が最初から作ったわけではないので、なかなか、原因がつかめず、 今回の質問に至ったわけです。 とりあえず、ポートの使用状況などを見ることができる ツールがありましたので、そちらで今回の場合は対応することに します。 ありがとうございました。

関連するQ&A