如何使用代码删除 tcp / udp 连接?
Posted
技术标签:
【中文标题】如何使用代码删除 tcp / udp 连接?【英文标题】:How to drop tcp / udp connection using code? 【发布时间】:2021-10-18 12:40:25 【问题描述】:我目前正在使用 .net 核心,并且希望能够删除主机上打开的一些 tcp 和/或 udp 连接。
我已经建立了检查打开连接的所有逻辑,我现在只需要找到一些资源来帮助我在机器上断开连接。
在 Windows 中,我可以使用第三方程序在初始化期间传递一些参数。但是我需要它在 linux 机器上工作。
Windows 解决方案 = http://www.nirsoft.net/utils/cports.html
【问题讨论】:
如果连接的进程被杀死,连接将被删除。 【参考方案1】:网络连接是非托管资源的一个非常常见的例子,它必须是disposed off。我们放弃 SQL 连接的一个重要原因是底层网络连接。
在处理可处置类时,我的建议是:“创建、使用、处置。全部在同一段代码中,最好使用 using statement。”
请注意,对于网络,您通常必须应用某种形式的多任务处理。 Async/Await 是更现代的方法,但也可以使用单独的线程。这可以防止 UI 线程被阻塞,同时仍然确保使用不会在逻辑上拆分 - 从而保持可靠。
【讨论】:
你好克里斯托弗。我明白。但是,连接不是由我建立的。是我服务器的第三方。我想关闭这些连接,因为我遇到了恶意连接问题。 @GustavoFonseca 我对此的一个回答是:不要! 绕过并关闭操作系统上其他程序的随机网络连接?那是病毒行为!也许如果这是旨在提供网络管理员支持的程序的唯一目的 - 它仍然是粗略的,但至少是主题。以上是关于如何使用代码删除 tcp / udp 连接?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android 中连接 SSH 隧道 tcp/udp