当前位置: 首页 > news >正文

哪个建设网站公司好电影频道做的网站广告

哪个建设网站公司好,电影频道做的网站广告,湛江免费建站公司,杭州网站建设zj netTcpClient.Connect函数连接超时的问题 问题原述#xff1a; http://topic.csdn.net/t/20060616/15/4825920.html 调用TcpClient.Connect函数连接其他机器。我在一台机器上测试程序#xff0c;对于连接根本无法连接#xff08;物理连接不通#xff09;的机器#xff0c;该函…TcpClient.Connect函数连接超时的问题 问题原述 http://topic.csdn.net/t/20060616/15/4825920.html 调用TcpClient.Connect函数连接其他机器。我在一台机器上测试程序对于连接根本无法连接物理连接不通的机器该函数用时5秒左右返回并捕获SocketException异常。我在另一台机器上测试时Connect函数用时26秒左右的时间才返回。请问有没有方法设置Connect函数连接超时的时间如果超过一定时间还没有连上则返回。 解决方法    写了个帮助类用了线程池         class   TcpClientConnector     {             ///   summary             ///   在指定时间内尝试连接指定主机上的指定端口。             ///   /summary             ///   param   namehostname要连接到的远程主机的   DNS   名。/param             ///   param   nameport要连接到的远程主机的端口号。/param             ///   param   namemillisecondsTimeout要等待的毫秒数或   -1   表示无限期等待。/param             ///   returns已连接的一个   TcpClient   实例。/returns             ///   remarks本方法可能抛出的异常与   TcpClient   的构造函数重载之一             ///   public   TcpClient(string,   int)   相同并若指定的等待时间是个负数且不等于             ///   -1将会抛出   ArgumentOutOfRangeException。/remarks             public   static   TcpClient   Connect(string   hostname,   int   port,   int   millisecondsTimeout)             {                     ConnectorState   cs     new   ConnectorState();                     cs.Hostname     hostname;                     cs.Port     port;                     ThreadPool.QueueUserWorkItem(new   WaitCallback(ConnectThreaded),   cs);                     if   (cs.Completed.WaitOne(millisecondsTimeout,   false))                     {                             if   (cs.TcpClient   !   null)   return   cs.TcpClient;                             throw   cs.Exception;                     }                     else                     {                             cs.Abort();                             throw   new   SocketException(11001);   //   cannot   connect                     }             }                 private   static   void   ConnectThreaded(object   state)             {                     ConnectorState   cs     (ConnectorState)state;                     cs.Thread     Thread.CurrentThread;                     try                     {                             TcpClient   tc     new   TcpClient(cs.Hostname,   cs.Port);                             if   (cs.Aborted)                             {                                     try   {   tc.GetStream().Close();   }                                     catch   {   }                                     try   {   tc.Close();   }                                     catch   {   }                             }                             else                             {                                     cs.TcpClient     tc;                                     cs.Completed.Set();                             }                     }                     catch   (Exception   e)                     {                             cs.Exception     e;                             cs.Completed.Set();                     }             }                 private   class   ConnectorState             {                     public   string   Hostname;                     public   int   Port;                     public   volatile   Thread   Thread;                     public   readonly   ManualResetEvent   Completed     new   ManualResetEvent(false);                     public   volatile   TcpClient   TcpClient;                     public   volatile   Exception   Exception;                     public   volatile   bool   Aborted;                     public   void   Abort()                     {                             if   (Aborted   !   true)                             {                                     Aborted     true;                                     try   {   Thread.Abort();   }                                     catch   {   }                             }                     }             }     }             用法示例         try     {             Console.WriteLine(Connecting   to   nonexistenthost...);             TcpClient   tc     TcpClientConnector.Connect(nonexistent,   80,   1000);             Console.WriteLine(Returned);             try   {   tc.GetStream().Close();   }             catch   {   }             try   {   tc.Close();   }             catch   {   }     }     catch   (Exception   e)     {             Console.WriteLine(Exception:       e.Message);     }   转载于:https://www.cnblogs.com/sql4me/archive/2009/04/29/1446080.html
http://www.pierceye.com/news/275385/

相关文章:

  • 企业网站制作一般多少钱做ppt的兼职网站有哪些
  • 分公司可以建设网站淘宝联盟怎么推广
  • 苏州网站设计哪家公司好童程童美编程地址在哪里
  • 软文营销的成功案例百度优化怎么做
  • 公司网站开发怎么收费优化方案英语必修三
  • 网站改版阿里云怎么做网站301定向温州网站运营
  • 免费做简历网站有哪些网站建设与网页制作招聘
  • 怎么到国外网站去接模具订单做潍坊微信网站开发
  • 做船公司网站青海公司网站建设哪家好
  • 制作网站公司合同注意事项沈阳高端网站
  • 企业网站备案时间网站建设的服务和质量
  • 提供视频下载的网站建网站开发费用
  • 深圳电商网站开发公司上海公司排名
  • 网站建设时间规划表学校网站网页制作
  • 龙岗建网站工信部网站备案进度查询
  • 个人网站域名名字wordpress文章页获取目录名称
  • 新公司做网站有效果吗seo推广营销公司
  • 做网络推广要做网站吗网站建设首页模板
  • 陕西网站设计高端网站设计公司名单
  • 建设网站企业公众号wordpress
  • 个人的小说网站如何做北京网站制作收费标准
  • 做海报的素材哪个网站微信如何创建自己的公众号
  • 怎样进行网站后台管理网站内容做淘宝店铺链接影响排名吗
  • 重庆网站编辑职业学校苏州企业网站制作开发
  • 手机网站和电脑网站一样吗wordpress页面镶入文章
  • 深圳个人如何做网站设计用asp做网站题目
  • 视频做网站基础型网站
  • 企业网站外包建设长沙工商注册网上登记
  • 网站建设的费用是多少钱mysql php wordpress
  • 扫二维码做自己网站上海工商注册网官网