C# 如何获取特定插座并将其关闭
我想关闭一个套接字,以便在同一端口上重新打开一个套接字,但该套接字上没有句柄C# 如何获取特定插座并将其关闭,c#,.net-3.5,sockets,C#,.net 3.5,Sockets,我想关闭一个套接字,以便在同一端口上重新打开一个套接字,但该套接字上没有句柄 如何让正在本地主机873上侦听的套接字关闭它?如果没有内核驱动程序,这是不可能的。在Windows中,在另一个进程中抓住套接字句柄并主动关闭它是不合法的 您可以进行调查。只有拥有套接字的进程才能关闭它,因此您可以尝试的只是结束拥有套接字的进程 在命令行中,您可以使用-o选项到netstat找到使用特定套接字的进程的进程ID。例如: netstat -noa | findstr LISTENING 但是,我不知道如何在
如何让正在本地主机873上侦听的套接字关闭它?如果没有内核驱动程序,这是不可能的。在Windows中,在另一个进程中抓住套接字句柄并主动关闭它是不合法的 您可以进行调查。只有拥有套接字的进程才能关闭它,因此您可以尝试的只是结束拥有套接字的进程 在命令行中,您可以使用
-o
选项到netstat
找到使用特定套接字的进程的进程ID。例如:
netstat -noa | findstr LISTENING
但是,我不知道如何在.NET中以编程方式执行此操作。这将允许多人绑定,但您无法关闭另一个句柄。应用程序拥有套接字,但它超出了范围。嗯,它被命令关闭,然后它超出了范围,但nestat仍然将其列为Listings,那么如何使用sysinternal中的TCPView来实现呢?供参考: