我是笑林新记,分享一下我使用C#的一些用法,希望对大家有帮助!
Visual Studio版本:Enterprise 2015
先说一下需求,本地有一服务进程开放了一端口供其它电脑访问,我们称之为服务端进程,那么其它电脑来访问的时候,就会产生一些TCP连接,我们通过系统自带的资源监视器,可以详细的看到这些数据,如下图。
我们可以看到程序名,PID,本地IP,端口,远程IP和端口。如果我们想结束某个连接,系统自带的资源监视器只可以看,不能进行任何操作。如果想操作,得自己写程序来搞了。
获取本地的端口号详细信息可以调用cmd命令“netstat -ano”,内容如下图,分别是协议类型,本地IP地址和端口,外部IP和端口号,状态和进程PID。
实际上很多是没有用的,我们只需要获取外部IP是有效IP的连接,对Cmd命令返回的结果做处理就可以得到有效连接。结果如下:
这个时候当前本机所有的网络连接是不是就一目了然了,最重要的是要关闭某条记录。
然后开启某度搜索端口监听,结果搜索出来的都是Soket的服务端和客户端的案例,Socket启动后需要监听,显然不是我们想要的内容,然后又找到了Socket和TcpListener,这两个是可以监听端口的,但是针对已启用的端口无效,“断开TCP连接”进行搜索也是没有找到有用的信息,换个搜索引擎,继续搜索中。
相信有这方面需求的朋友能够看出来,这个可以用在什么地方,我接到的任务是某游戏服务器限制同一IP登陆数,关闭超过指定数量的连接。
继续找方法中,有思路或者有这方面需求的朋友可以来讨论啊。