如何关闭其他应用程序的套接字连接?

问题描述 投票:1回答:1

与TCPView可以做的类似。

有没有办法在.net或winapi中做到这一点?

我需要自动化此过程来模拟集成测试的连接丢失。

此外,我不能使用http://www.nirsoft.net/utils/cports.html,因为它被我的公司阻止。

.net winapi
1个回答
1
投票

现在,当程序想要创建套接字时,它会创建一个侦听预定义端口的进程。

正如在这个线程Manually close a port from commandline中提到的,套接字绑定到创建它的进程。这意味着当进程终止时它将自动释放。我猜cports(你提到的程序)实际上是这样做的。

现在你可以使用windows“netstat”中的内置程序来获取保留端口的列表,以及保持它们打开的进程的id。

看看这个链接Check Open TCP/IP Ports in Windows

有多种方法可以运行程序,然后获取'std输出'以进行进一步处理。这是一个显示如何Execute a Command in C#的链接。

总结:(我的直接方法是......)从您感兴趣的端口拨打C#到netstat的电话,获取id。并调用“Taskkill / PID the_id / F”。

试一试,希望它适合你。

© www.soinside.com 2019 - 2024. All rights reserved.