• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

求教如何监测网络端口被占用???

syinter 2002-12-03 09:05:34
如题,最好用C#实现...
...全文
90 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dy_2000_abc 2002-12-05
Process p=new Process();
p.StartInfo=new ProcessStartInfo("netstat","-a");
p.StartInfo.UseShellExecute=false;
p.StartInfo.RedirectStandardOutput=true;
p.Start();
string result=p.StandardOutput.ReadToEnd();
if (result.IndexOf(Environment.MachineName.ToLower()+":4000")>=0)
MessageBox.Show("4000端口被占用");
回复
maquansheng 2002-12-04
建立一个TCP连接,如果连接成功就说明该端口被占用。
连接后,也可以发送一个空的数据,查看返回的数据。
回复
syinter 2002-12-03
的确如上面所说~~
不过它那里只记录了系统端口使用情况... 如果一些驻留内存的通讯软件使用的端口还是没办法检测啊,比如QQ使用4000,那里面就没有记载
回复
疯癫行者 2002-12-03
%windir%\system32\drivers\etc\services文件记载着本机的端口使用情况。写一段程序,读取该文件,看看端口是否被占用即可。
回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2002-12-03 09:05
社区公告

让您成为最强悍的C#开发者