C#を使用してポートが使用可能かどうかを判断する方法はありますか?既に使用されているポートを使用してWCF ServiceHostインスタンスを起動する前に確認したい:ポートが使用されているかどうかを確認しますか?
7
A
答えて
6
ポートが使用可能かどうかは判断できません。あなただけの、あなたがバインドされ、特定のソケットを持つと聞いてポートを制御していない限り、ポートが過去
にいくつかの時点で入手できたことをポート
- を決定することができますポート上では、別のプロセスが来てポートを制御することが可能です。
ポートが利用可能かどうかを知る唯一の信頼できる方法は、それをリッスンすることです。成功すれば、ポートは使用可能であり、制御権を持っています。さもなければ、を越えて潜在的に現在ののある時点で、そのポートは別のエンティティによって制御されていたことがわかります。
1
In C#, how to check if a TCP port is available?については、オリジナルのポスターではクライアントやサーバーについて話しているのかどうか分からないと思うので、接続したいクライアントやポートで受信したいサーバーについての回答もあります。
JaredParの回答は正しいです(これ以上!)が、時には不便かもしれません。
あなたは、他のサーバがあなただけにチェック(または不定期の故障のために気にしない)ポートをつかんされていないことを合理的に確実である場合、あなたは(https://stackoverflow.com/a/570461/586754に似て、http://www.codeproject.com/Tips/268108/Find-the-open-port-on-a-machine-using-Csharp?msg=4176410#xx4176410xxから)試すことができます。
public static int GetOpenPort(int startPort = 2555)
{
int portStartIndex = startPort;
int count = 99;
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] tcpEndPoints = properties.GetActiveTcpListeners();
List<int> usedPorts = tcpEndPoints.Select(p => p.Port).ToList<int>();
int unusedPort = 0;
unusedPort = Enumerable.Range(portStartIndex, 99).Where(port => !usedPorts.Contains(port)).FirstOrDefault();
return unusedPort;
}
関連する問題
- 1. powershellを使用してポートが使用されているかどうかを確認する方法
- 2. WindowsでTCP/IPポートが既に使用されているかどうかを確認しますか?
- 3. Visual Basic - ポートが開いているかどうかの確認
- 4. ポート80が拒否されているかどうかを確認しますか?
- 5. どのポートが使用されているかを確認してください
- 6. glibcが使用されているかどうかを確認する方法
- 7. ダーティチェックが使用されているかどうかを確認するには?
- 8. ポートでipが使用可能かどうかを確認していますか?
- 9. flock()を使用してファイルが既にロックされているかどうかを確認しますか?
- 10. PHPを使用してYouTube動画が削除されているかどうかを確認しますか?
- 11. IISがインストールされているかどうかを確認しますか?
- 12. UIViewがタッチされているかどうかを確認しますか?
- 13. ファイルが更新されているかどうかを確認しますか?
- 14. Javascript:URLが変更されているかどうかを確認しますか?
- 15. どのWebサーバーが使用されているかを確認します
- 16. SQLCMDを使用してSQL Serverが実行されているポートを簡単に確認できますか?
- 17. ユーザーがdbで確認されているかどうかを確認
- 18. Windowsでバッチファイルを使用してポート80を使用できるかどうかを確認する方法xp
- 19. PHP SessionIDが使用されているかどうかを確認しますか?
- 20. インストールされているネットワークプリンタがオンラインかどうかを確認します。
- 21. ファイルがアップロードされているかどうか確認してください。
- 22. Jqueryを使用してtomcatサーバーがポート8080で実行されているかどうかを確認できますか?
- 23. DLLが別のアプリケーションで使用されているかどうかを確認してください
- 24. どのポートがDirectoryEntryで使用されていますか?
- 25. データベースが更新されているかどうかの確認
- 26. レコードがアクセスサブマクロに保存されているかどうか確認します。
- 27. image.completeを使用して、画像がクロムにキャッシュされているかどうかを確認しますか?私は外部の画像がJSとブラウザにキャッシュされているかどうかを確認しようとしている
- 28. HealthKitが承認されているかどうかを確認する方法
- 29. 関数が@classmethodを使用しているかどうかを確認する
- 30. ステータスバーが隠れているかどうかを確認してください