说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

.NET技巧:用TcpClient类测试网络服务

HTML文档下载 WORD文档下载 PDF文档下载
本文介绍了TcpClient类的简单使用方法。

 

测试服务器是否在运行时非常有用的,还可用于测试服务是否正常运行。
这些应用大部分不是web services,web services可以用HttpWebRequest来测试。
FTP,SMTP/POP3邮箱等服务,你可以用TcpClient 类去测试。TcpClient类位于System.Net.Sockets库中,
因此需确认你已经在代码中引用了该库。
下面的例子测试两个邮件服务器是否正确回应:

 

测试服务器是否在运行有时是非常有用的,还可用于测试服务器中的应用服务是否正常运行。

这些应用大部分不是web services,web services可以用HttpWebRequest来测试。

FTP,SMTP/POP3邮箱等服务,你可以用TcpClient 类去测试。TcpClient类位于System.Net.Sockets库中,

因此需确认你已经在代码中引用了该库。

下面的例子测试两个邮件服务器是否正确回应:

ArrayList addrs = new ArrayList();addrs.Add("mail.northcomp.com");addrs.Add("mail2.northcomp.com");addrs.Add("mail3.northcomp.com");byte[] returnBuffer;foreach (string s in addrs){   TcpClient c = new TcpClient();   try   {      c.Connect(s, 25);      NetworkStream ns = c.GetStream();      if (ns.CanRead)      {         returnBuffer = new byte[c.ReceiveBufferSize];         int bytesRead = ns.Read(returnBuffer, 0,                                 (int)c.ReceiveBufferSize);         Console.WriteLine("Result from {0}:", s);         Console.WriteLine(Encoding.UTF8.GetString                           (returnBuffer).Substring(0, bytesRead));         ns.Close();      }      c.Close();   }   catch (Exception ex)   {      Console.WriteLine("Error connecting to {0}.", s);      Console.WriteLine("Exception:");      Console.WriteLine(ex.ToString());   }}Console.WriteLine("Mail server check completed.");
这些代码首先创建TcpClient对象,然后连接到主机的25端口(SMTP的默认端口).
检测NetworkStream能否读到数据,如果可以,将数据放入缓冲。Read函数返回正确读取了
多少数据,你可以用该值修改缓冲和剩余的空间。缓冲数据显示时需要用Encoding.UTF8.GetString方法,
否则,数据将无法正确显示。
在例子中,前面的两个地址被使用,最后一个没有。因为会产生一个错误,异常被抛出,错误显示在
控制台窗口中。如果成功,窗口中显示接收到的文字。每个连接到SMTP端口的连接都会受到来自服务器
的问候信息。可以查看返回的文字校验服务器是否响应正确。
你可以简单地改变代码,从其它端口读取数据,如FTP,POP3等,你只需要在用Connect函数连接时改变
端口号。

 

 

 

OpenCL 2.0发布,带来更强悍的异构计算能力 代码审查方式大调查 辅助工具居首(信息图) 一网打尽当下NoSQL类型、适用场景及使用公司 初创公司Treasure Data:每天处理7000亿行数据的20万次查询 豌豆荚王俊煜:将推支付SDK 与开发者3:7分成 英特尔-百度移动应用测试中心(MTC)正式启动 Intel将在2014年为数据中心用户定制低功耗SoC芯片 情绪低落?没事,让计算机来帮你! 水果生意难做 前新浪架构师徐佳转行试水挖煤 思考软件开发中的快与慢 Apache CouchDB注入新鲜血液,整合分布式技术 CSS Shapes:Web设计人员的新工具 Android 4.3正式发布:四大新功能一览 史玉柱的创业经验谈 3G门户和GO桌面:海外推广的生意经 系统级编程语言性能大PK D语言成首选 解读Facebook第二季度财报 移动业务风生水起 如何避免失败,像Google一样玩转大数据 首届游戏运营技术论坛隆重开幕,共论大数据时代的游戏运营之道 OpenStack Swift遇到了Erasure Code 微软Win7 IE11开发者预览版发布 开始改进开发工具讨好开发者 个性化推荐服务商百分点宣布B轮融资1000万美金 全球著名互联网企业背后的开源力量 基础设施对决Facebook vs. Google:差距绝不是一点点 Amazon Q2财报同比转亏,但AWS反其道而行:高歌猛进! 开拓海外市场的两年:海外上线小技巧 SDCC 2013首批讲师名单出炉 一线工程师唱主角 [开源推荐] 跨平台的.NET运行环境 Mono 3.2发布 Heroku发布API平台Beta版 采用OAuth2.0安全授权 大数据时代:移动数据能为我们带来什么? iOS开发经验谈:如何提高应用开发效率? 紧急问题! 终于 知道MESSENGER 只是 WIN2K 的服务了! 那么 这 个怎么办?? 请问以下我如何实现一个带滚动条的子窗口 问一下,resin和iis集成后class文件放在什么目录下 用 http://www.rc80.com (c# + sqlserver2000) 只想换一个.net 的完整的分页代码! 一个Corba客户端连接的问题! 如何在resin中设置wap服务器功能 大家帮忙!! 什么时候用DataGrid,什么时候用DataList? 怎么样从数据库里取得某字段的值??? 昆腾的硬盘修理找谁啊?急,UP有分........ www.webmatrixhosting.net免费空间中FTP文件上传问题 Apache 2.0.43 +Tomcat 4.1.24+mod_jk2-2.0.43.dll整合问题出现:The servlet container is temporary unavailable or being upgraded 我装的Delphi7好像丢了一个文件:Proxies.pas,哪位好心人给我一个? 人,真脆弱! 开水房追女之呕心沥血计划 (超暴笑) 孤独 急!!Image对象如何设置成为透明的???Thanks! 【憋的慌】大头、阳光呢!!! 关于FLASHMX的遮罩问题 一个问题,想不通! 【憋的慌】死水、一辉呢!!! 急!!!急!!!怎么在建表时使用一个时间函数??就是指出加这条这条文件的时间?? 【憋的慌】蓝心、风呢!!! 怎么获得一个应用程序的图标,比如我用进程ID,获得其主模块,然后怎么办! 【憋的慌】冰冰、贝贝呢!!! 我获得一个服务,可以检验综的状态什么的,可我想获得除了这个以后的东西比如:.... 【憋的慌】珊珊艾、CoolSlob呢!!! 关于adodc控件删除的求救 【憋的慌】冰儿、江风呢!!! 关于Apache wuxuan、kingzai、jemmylau各位版主,请问怎样才能得更多的可用分?我看有些人有几千分,真不解。 提示问题!菜鸟问题马上送分 请问哪有php安装程序下载? [散分]探望qxjavajava 使用gdiplus.lib出现下面的错误? 讨论MVC--Model这块的实现方法(不用EJB的情况)??还有那里有可以自动生成DAO和VO的比较不错的工具吗? 关于网络传销 关于个人bean的问题!!!! windows 2003 server 下为什么不能装sql的任何版本 挑战性问题:ToolBar为何在客户区?而MainFrameWnd的在非客户区?(高分) 一个奇怪的问题 再搞不定我要自杀啦。。。。。。。 求助!测试数据库的师傅来看一下啊(adodc 对象编程) 请问,图书怎样分类,分哪些类比较科学? 推荐几个比较好的C++的论坛吧 谁能帮我一下! 请大家帮助 给50分!!!!!!! 为水源200多位水友鸣不平,鄙视某人。。。 请教各位高手(菜鸟) 怎样把我的dll加到0x80000000以上地址? I ___ tell her the truth.A.cannot help B.cannot but C.may not help D.could but 两地相距510km,两车相向而行,若同时出发,则5.1小时相遇,若乙车先出发2小时,两地相距510km,两车相向而行,若同时出发,则5.1小时相遇,若乙车先出发2小时,则驾车出发后四小时相遇, we bought one kilo of cheese .(就画线部分提问) cheewe bought one kilo of cheese .(就画线部分提问) cheese did you buy ? 英语英标中像“阿拉伯数字6上面再加一瞥”的那个音标是发“日 Let the boy --------[not leave】at once. How does your cousin spend her holiday?(用they换your cousin)改写 Peter doesn't like eating chocolates.It tastes too (s——) 求初一素描科幻画 本人只会素描! she began practicing her guitar skills for several hours each day,__when her fingers began tobleed.A.stop only B.stopped only C.only to stop D.only stopping答案为什么是D?C怎么错了? It tastes like chocolate中的like是什么词性,在句中做什么成分? a,b两地相距510千米,甲,乙两车分别由两地相向而行,诺两车同时出发五又十分之一小时相遇,诺乙车先出发2小时,则甲车出发4小时后相遇, family当家人讲时是可数还是不可数的? 1997减2分之一,然后剩下的减3分之一,以此类推,最后减去1997分之一,最后得多少?会的回答 How do you like hamburgers and potato chips? 详细解释下family什么时候可数,什么时候不可数,families是指什么 一朵桃花劫不出桃子最可能被虫子破坏的结构式 A B 两地相距510km,甲 乙两车分别有两地相向而行.如果两车同时出发,那么两车5小又十分之一 小时相遇.如果乙车先出发2小时,那么甲车出发4小时后相遇,求两车速度. 洗浴所说的大保健什么意思 You'll regret______those words.You may hurt her feelingsA sayB to sayC having saidD to have said The bady drinks milk every day(对milk划线部分提问) eat,amy,an,doesn,it,ice-cream.连词成句 homework可数? My uncle drinks milk every day.一般疑问句并做肯定回答 Jenny is too fat,____ she doesn't eat ice-cream.A.and B.butC.so D.then选哪个? Because ut takes 4 kilos of grain protein to produce half a kilo of meat pro My son has many milk every day .那错了?怎么改?呜呜~(>_ 放鸽子比喻什么 甲乙两车分别从ab两地相向而行,甲车每小时行80km,乙车每小时行全程的10%,当甲车距离B地的路程与已行的路程之比是1:5时,乙车再行全程的八分之三到达A地,AB两地相距多少千米? My sister has many milk every day改错 被放鸽子是什么意思? 这个故事发生在2012年,翻译成英语,用happen 还是take place 你不会不觉得跑进家来的小松鼠是可爱的吧?什么意思? 什么叫放鸽子?假如说你约了她,却因为有事情打了电话给他,跟他说,他又同意了叫放鸽子吗?(他还没出门) 哈奇小镇(魔法哈奇)的小翅膀在哪买? weekends,does,spend,his,how,brother,his(?)连词成句 “放鸽子”是什么意思啊? about today 歌词 some fruit 可以用单数也可以用复数吗?有何不同? 仿照 山中访友 中的拟人句描写山中的一个景物 Today we have a lesson in good h_______.We learn a lot about f_____and d_______.To be h_____,we eatToday we have a lesson in good h_______.We learn a lot about f_____and d_______.To be h_____,we eat n____ or r____and some vegetabies.They are healthy 关于机械能守恒以相同的初速度Vo 将物体从同一水平面分别竖直上抛、斜上抛、沿光滑的足够长的固定的斜面的表面上话.三次达到的高度分别是h1、h2、h3,不计空气阻力,则h1、h2、h3的关系是? “放鸽子”是指啥意思? 靠卵繁殖后代的动物叫什么 提问 有关机械能守恒什么时候机械能一定不守恒啊 怎样锻炼自己成为有恒心有毅力的人怎么都是方框啊 (2.8)(7)(17.5)按照这样的规律,下面该写什么? 翻译 近几年人们的生活方式发生了巨大的变化(take place) 你不会不觉得跑进家来的小松鼠是可爱的吧?改为陈述句 《未来的能源》科幻画应画什么内容?本人急需《未来的能源》科幻画的内容,各位大哥大姐小弟小妹们,帮帮本人,非常急!今天就要,否则死定了!2006年2月9日 xqc110 用肺呼吸,产有硬壳的卵来繁殖后代的动物是什么快! 跑进家来的小松鼠中哥哥掏出手套会怎么说 科幻画,要画未来的东西,画什么呢? 除猫头鹰外,其它大部分猛禽是不是也像鸡那样只能白天活动,晚上看不到东西,睡觉? There are (two glasses of)milk on the table.对括号内提问Millie watches TV for two hours every week.改为同义句改为Millie watches( )( )( )TV every week he had not the courage to tell her the truth.嘛意思好像这句子不符合语法."没勇气" 不应该是“didn't have the courage ”再说have加not 应该是完成时吗 不可数名词是不是前面不能有冠词 那不可数名词可不可以什么都不带 好像He told me news 这样可以吗 we bought one kilo of cheese .(就画线部分提问)we bought one kilo of cheese . (就画线部分提问) cheese did you buy ? Tell her not ___ hurt herself. She wants (one kilo of)meat对括号部分提问 填空:( )like one kilo of oranges and two kilos of grapes.(in de shop)A.what can I( ) for you,sir?B.( ) like one kilo of oranges and two kilos of grapes.A.( ) else?B.No,thanks.How much do they( A.twelve yuan,please.B.Ok.thank you.here's the ( 广西以制度给高官划\"红线\"标\"记协召开“打击新闻敲诈、加强行业自律尼泊尔发生180多起“反选举”暴力活李克强:改革已进深水区 必须敢于打破伊朗最高领袖对核谈“不乐观”国际晚班车:外交官的家庭生活国际财经一周大事回顾中国上市公司三季报业绩再涨 四季度增朴槿惠:日本应向德国学习正视历史错误世界主要城市11月4日天气预报萨耶赫:“非洲要重返经济危机前高速发浙江普陀山大型翡翠观音宝像开雕载70人船只在缅甸海域倾覆 已找到8美共和党议员称国安局或监听奥巴马电话朴槿惠:日本应向德国学习正视历史错误美军士兵与怀孕妻子视频聊天目睹其被歹载70人船只在缅甸海域倾覆 已找到8伊朗最高领袖称支持伊核问题会谈 对前快讯:载70人船只在缅甸海域倾覆 已美无人机再清除巴塔首领 和谈生变惹怒英国一医院医疗过失误诊流产 恐致死逾一文读懂当今互联网金融的世界格局政解|京津冀采暖季PM2.5还有救吗中国经济复苏“重重打脸” 日本仍陷因为陌陌,我上了同桌女神的床(6)同样是油价下跌!相比中石化,中石油业【贱CRY】你上课时,最怕听到什么话【北京车展】斯柯达推出Kodiak 【北京车展】广汽三菱新款劲炫ASX上为信仰充值,NVIDIA英伟达海南首因为陌陌,我上了同桌女神的床(5)决战时刻被雪藏!生死战仅1杂耍进球乐从《伪装者》到《欢乐颂》,聊聊90后2016年下半年贵人运好的生肖北京车展前夜上演现实版速度与激情?安格尔如何能让裸体画又情色又高贵?看海的季节,准备好防潮装备了吗? —漂洋过海你来了——美亚购入DELL 开发区打造社会救助新品牌两河生态治理打造花海旅游新西平平舆县采取三措施增强城市发展活力西平县强化措施努力推进绿色生态县建设
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘