换成 netstat -a ?不过里面有一大堆数据,效率很低的,而且要找也未必找得到 有没有人又其他方法?
c:\>tcpvcon /?TCPView v2.52 - TCP/UDP endpoint viewer Copyright (C) 1998-2007 Mark Russinovich Sysinternals - www.sysinternals.comUsage: tcpvcon [-a] [-c] [-n] [process name or PID] -a Show all endpoints (default is to show established TCP connections). -c Print output as CSV. -n Don't resolve addressed. process Only show endpoints owned by the process specified. c:\>tcpvcon -ncTCPView v2.52 - TCP/UDP endpoint viewer Copyright (C) 1998-2007 Mark Russinovich Sysinternals - www.sysinternals.comTCP,System,8,ESTABLISHED,192.168.2.115:139,192.168.1.125:1544 TCP,iexplore.exe,840,ESTABLISHED,192.168.2.115:1941,211.100.26.111:80不用Sysinternals的工具是你个人的损失。就好比你不用筷子吃饭一样。
第二种办法是替换WINSOCK函数库。
'读c:\tcpv.txt的内容
其中tcpvcon.exe是tcpview.exe的命令行版
借助第三方程序实现起来很不理想..
而且,这里读出来的文本列表,不能判断哪个进程是哪个pid..
netstat -a
?不过里面有一大堆数据,效率很低的,而且要找也未必找得到
有没有人又其他方法?
Copyright (C) 1998-2007 Mark Russinovich
Sysinternals - www.sysinternals.comUsage: tcpvcon [-a] [-c] [-n] [process name or PID]
-a Show all endpoints (default is to show established TCP
connections).
-c Print output as CSV.
-n Don't resolve addressed.
process Only show endpoints owned by the process specified.
c:\>tcpvcon -ncTCPView v2.52 - TCP/UDP endpoint viewer
Copyright (C) 1998-2007 Mark Russinovich
Sysinternals - www.sysinternals.comTCP,System,8,ESTABLISHED,192.168.2.115:139,192.168.1.125:1544
TCP,iexplore.exe,840,ESTABLISHED,192.168.2.115:1941,211.100.26.111:80不用Sysinternals的工具是你个人的损失。就好比你不用筷子吃饭一样。
这个工具确实短小精悍.高手您介绍的方法也确实可以达到目的.但是缺乏点效率..要不断读文本.读磁盘.而且是每秒.
tcpvcon所显示的内容也是代码(API)实现的,我的意思是,在VB里面能不能使用类似的代码判断?而不是直接用他的程序..期待灵感..期待高手..
如果你学过操作系统文件Cache原理,你就不会担心上面操作的效率了。
不信你可以用Filemon工具查看一下每秒你的磁盘文件读写有多频繁。
如果你实在放心不下的话,搞个内存虚拟磁盘vmdisk,在其上读写吧。