CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

c#实现ping命令遇到的问题。

楼主xuleicsu()2006-03-17 09:55:49 在 .NET技术 / C# 提问

本人现在开发的项目需要定时的检查网络的状况。  
  不知道各位大侠有没有好的办法?  
   
  我是用c#实现ICMP协议,模拟ping命令来检查网络的,使用到了这些资源:  
  http://www.codeproject.com/dotnet/CSharpPing.asp  
  http://www.eggheadcafe.com/articles/20020209.asp  
   
  这些实现的ping程序好像在对指定远程服务器的端口测试中没有用,  
  也就是说无法判断服务器指定的端口是否打开。  
   
  不知道高手对这种情况有没有好的解决办法?谢谢  
  问题点数:100、回复次数:5Top

1 楼zlz_212(ShREk)回复于 2006-03-17 10:10:15 得分 30

用TCP呢?Top

2 楼serversql(啊初)回复于 2006-03-17 10:15:11 得分 60

使用SOCKETTCPTop

3 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2006-03-17 10:41:29 得分 10

public   static   bool   Ping(string   remoteHost)  
  {  
  bool   Flag   =   false;  
  Process   proc   =   new   Process();  
  try  
  {  
  proc.StartInfo.FileName   =   "cmd.exe";  
  proc.StartInfo.UseShellExecute   =   false;  
  proc.StartInfo.RedirectStandardInput   =   true;  
  proc.StartInfo.RedirectStandardOutput   =   true;  
  proc.StartInfo.RedirectStandardError   =   true;  
  proc.StartInfo.CreateNoWindow   =   true;  
  proc.Start();  
  string   dosLine   =   @"ping   -n   1   "   +   remoteHost;  
  proc.StandardInput.WriteLine(dosLine);  
  proc.StandardInput.WriteLine("exit");  
  while   (proc.HasExited   ==   false)  
  {  
  proc.WaitForExit(500);  
  }  
  string   pingResult   =   proc.StandardOutput.ReadToEnd();  
  if   (pingResult.IndexOf("(0%   loss)")   !=   -1)  
  {  
  Flag   =   true;  
  }  
  proc.StandardOutput.Close()   ;  
  }  
  catch   (Exception   ex)  
  {  
  }  
  finally  
  {  
  try  
  {  
  proc.Close();  
  proc.Dispose();  
  }  
  catch  
  {  
  }  
  }  
  return   Flag;  
  }Top

4 楼xuleicsu()回复于 2006-03-17 11:05:43 得分 0

上面的大哥,我现在是要用检测服务器的一个具体的端口有没有打开,比如8080端口  
   
  ping命令可以检测端口吗?好像不能吧Top

5 楼xuleicsu()回复于 2006-03-21 16:48:56 得分 0

我用TCP实现了Top

相关问题

  • 能否再C#中调用ping命令?
  • 在C++里怎样调用命令Ping?
  • 急!!!!!!!!求!在c#下写的ping命令的源程序!
  • 有个C++的计算24的程序,想把他转为C#的命令行程序,可遇到问题
  • 有关WIN2000环境变量问题,在C:\> 下不能PING和其它命令
  • C++与C如何混编,我有个纯C命令行程序,我要用C++调用它.遇到好多链接错误,请高手指点!
  • ping命令问题
  • C++ Builder中能否编一个类似"ping"命令的函数?请高手赐教,万分感谢。
  • 求教:在c#里调用ping 10.1.*.* 之类的命令怎么取得返回值,判断是否成功?(急)
  • C/C++执行DOS命令的问题

关键词

  • 端口
  • 服务器
  • proc
  • startinfo
  • 命令
  • ping
  • 实现
  • flag
  • true

得分解答快速导航

  • 帖主:xuleicsu
  • zlz_212
  • serversql
  • lovefootball

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo