c# - 如何以编程方式查找特定服务正在监听的端口

标签 c# tcp windows-services

我知道服务名称。是否有任何选项可以找到服务正在监听的端口号?

附言:

netstat -a -n -o 会给出 IP、PORT、PID

同时

tasklist /SVC /FI "SERVICES eq ServiceName" will give, Imagename, PID

如何合并两者的结果以获得该特定服务的端口。

最佳答案

方法如下:

  1. 使用this获取 cmd 命令的输出
  2. 使用this将每一行拆分为子字符串
  3. 将子字符串与您想要的服务名称进行比较,如果相同。获取服务的 PID。
  4. 执行第二个命令。解析它,得到portNumber

注意:比较字符串总是在同一个大小写中是明智的,所以在比较之前所有字符串要么大写要么小写

祝你好运

关于c# - 如何以编程方式查找特定服务正在监听的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18272024/

相关文章:

c# - CRM 2011 使用 ICodeWriterFilterService 生成的代码无法构建

c# - 使用枚举绑定(bind)组合框选定值

sockets - TCP监听器和套接字之间的区别

java - 我应该在何时何地使用 close() 方法来避免 ObjectInputStream 中的 IOException?

c# - Windows服务中的多线程

c# - UWP 组在运行时有奇怪的行为

c# - 正则表达式可能吗?

tcp - UDP 与 IP- 区别?

c# - 使用 C# 创建 Windows 服务的资源

c# - 替代 "Allow service to interact with desktop"?