c# 线程控制问题,急,在线等!!!!

binggeixu 2008-09-03 10:53:47
我想对IPHostEntry ipHost = Dns.Resolve("192.168.1.49")这个方法进行控制,让其在5秒内没反映的话就停止并执行下一步,用线程的话怎样控制呢!?谢谢!!!!
...全文
234 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kmiaoer 2008-09-03
  • 打赏
  • 举报
回复
一般高手都这样。说一下就跑了
ttayaa 2008-09-03
  • 打赏
  • 举报
回复
你的IP格式写对了怎么会没反映?

ttayaa 2008-09-03
  • 打赏
  • 举报
回复
是怎么个没反映啊!
「已注销」 2008-09-03
  • 打赏
  • 举报
回复
回复asciil :延迟5秒后能够判断,但是dns还在继续呀!能不能终止呢!?
一游 2008-09-03
  • 打赏
  • 举报
回复
你可以在这句话前启动一个线程,线程廷迟5秒判断ipHost 是否为NULL,为NULL,说明没有返回,你再处理,如果返回则进行其它处理
yagebu1983 2008-09-03
  • 打赏
  • 举报
回复
用时间控制!!
ttayaa 2008-09-03
  • 打赏
  • 举报
回复
我看错了
ttayaa 2008-09-03
  • 打赏
  • 举报
回复
委托啊
jianojian 2008-09-03
  • 打赏
  • 举报
回复
过了五秒,没有返回本地不管了就行了吧
ttayaa 2008-09-03
  • 打赏
  • 举报
回复
用个TIMER组件设为500毫秒做一次,定义一个全局变量
当你执行的时候timer1。Enabled为真啊



private int times =0;

private void timer1_Tick(object sender, EventArgs e)
{
if(times<=10)
{

try{
IPHostEntry ipHost = Dns.Resolve("192.168.1.49");
times++;
}
catch{}

}
else
{timer.Enabled=False;}

}
jianojian 2008-09-03
  • 打赏
  • 举报
回复
Dns.Resolve执行的话就发消息给了DNS服务器,不能停止了吧。要停也只能在域名服务器上停,本地管返回结果了就可以贝。
yagebu1983 2008-09-03
  • 打赏
  • 举报
回复
导入system.timer命名空间,

Timer yy = new Timer();
yy.Elapsed+=new ElapsedEventHandler(yy_Elapsed);
来实现!!

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧