2012-04-21 6 views

答えて

-1

本当にわかりません。あなたはそれを自分で追跡しなければなりません。また、ソケットがリスニングソケットであるかどうかを確認するときは、保存したソケットと比較してください。

+0

ええ、ファイルディスクリプタセットに追加することを考えていましたが、確認するために使用しました。答えてくれてありがとう! –

+2

'getsockopt(SOL_SOCKET、SO_ACCEPTCONN)'はソケットをリッスンするための正しい方法です。あなたは代わりにmark4oの答えを受け入れるべきです。 –

+0

@RemyLebeau私はそれを知らなかった。それはより多くのコードかもしれませんが、それはOPの質問によく合います。 –

-1

あなたは(マック/のLinux的環境に)コマンドラインで実行できます。

lsof -i 

/または(のLinux/Macの/のWindows的環境)

netstat -a 
+0

彼はCの解決策を求めました(私はダウンしていませんでした)。 – peterh

0

は、厳密に言えばと、あなたは可能性接続を受け入れようとするようなソケットの種類を偶発的に判断する操作を、ソケット上で実行してみてください。 accept()がEINVALで失敗すると、それはリッスンしていないことを示す良い兆候です。 :)

どちらのソケットがより良い解決策であるかを把握することができます。あなたが本当に簡単なアプリケーションを構築しているのでなければ、とにかく各ソケットに何らかの追加データを残さなければならない可能性があります。

関連する問題