首页 新闻 会员 周边 捐助

如何使用C#来获取本机的TCP连接情况并根据IP地址来关闭其中的连接?

0
悬赏园豆:50 [已关闭问题] 关闭于 2014-09-03 15:07

假设某个程序连接了A B C三个远程地址。如何使用C#来获取TCP的连接情况?(本地地址,远程地址,传送速率,etc),然后根据连接情况选择性地关闭其中的某些TCP连接?

 

ps.当然我们可以使用C#来调用其他应用程序来获取并管理,但我想问的是有没有C#原生的方法。

Bce的主页 Bce | 菜鸟二级 | 园豆:381
提问于:2014-09-01 08:46
< >
分享
所有回答(2)
0

WinPcap

Launcher | 园豆:45050 (高人七级) | 2014-09-01 08:58

不想做用C#去调用应用程序这种方式啊……

支持(0) 反对(0) Bce | 园豆:381 (菜鸟二级) | 2014-09-01 09:04

@Bce: 请问“C#去调用应用程序这种方式”是指的什么方式?

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2014-09-01 09:17

@Launcher: 可以用C#来调用netstat命令行程序跟cports这样的应用程序来实现,不过我想找找.Net原生的做法。

支持(0) 反对(0) Bce | 园豆:381 (菜鸟二级) | 2014-09-01 09:54

@Bce: http://www.docin.com/p-556412135.html

我举个例子,你看看是不是你理解的“原生”: .Net 提供 FileStream 类来访问文件。

如果这是你认为的“原生”的话,你可知道 FileStream 是如何实现的吗?我可以告诉你,它仍然是调用的 Win32 API: CreateFile,ReadFile,WriteFile 等。

 

而我理解的“原生”是类似 StringBuilder,TdsParser 等。

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2014-09-01 10:03

@Launcher: 我所谓的原生,就是.Net类库中已经提供了现成的方法,不用再去引用独立的外部程序集。

支持(0) 反对(0) Bce | 园豆:381 (菜鸟二级) | 2014-09-02 10:35

@Bce: .Net 的 FileStream 至少会依赖 Kernelbase.dll,请问在这种条件下,FileStream 算不算你说的“原生”?

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2014-09-02 11:05

@Launcher: 抱歉,是我表达的不对,不要在意“原生”这个词了,请告诉我.Net类库有没有现成的能做到这些的方法?

支持(0) 反对(0) Bce | 园豆:381 (菜鸟二级) | 2014-09-02 11:42
0

要在服务端获取自己的Tcp连接,来关闭连接好像不怎么行吧,一般是在服务端判断客户端连接上来的IP,然后判断哪些客户端的IP可以被断开。

三国郭海 | 园豆:280 (菜鸟二级) | 2014-09-01 09:45

是可以的,cports就能做到,不过我想找找.Net原生的做法。

支持(0) 反对(0) Bce | 园豆:381 (菜鸟二级) | 2014-09-01 09:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册