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

.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函数连接时改变
端口号。

 

 

 

独立游戏开发者易犯的9大致命错误 “Do Not Track”的前世今生 《Warcraft是怎样炼成的(三)》:从Demo到游戏 无限强大的超级马里奥AI 以Google第二代数据库产品MegaStore为理论模式 探索HBase系统 传Google明年推Chrome OS触摸屏上网本 下载自己过去的Tweets?用户准备好了吗? 微软任命研究部门新副总裁 负责北京等实验室 欧朋首席标准官:HTML5将在2014年成熟 开发利器:对游戏开发者最具价值的5类iOS应用 专访前IE浏览器内核研发工程师,带你深入了解IE10 Windows 8市场接纳速度慢于Windows 7 别只看下载量!“用户留存率”才是关键! 预计2020年出现百亿亿次级超级计算机 Google数据中心PUE的秘密 一个传奇:有个人不断赢得世界算法冠军 音乐能力开放平台合作探索之旅 社交网络海外营销技巧及工具实战 大数据谬误 —— 为什么我们需要收集更多的数据 传苹果地图负责人Rich Williamson遭解雇? 一个月:Windows 8授权许可已破四千万 里程碑:iPhone与Android企业用户市场首次超过黑莓 VMware最快下周宣布分拆Cloud Foundry 国际原子能机构服务器遭窃 百多位专家信息泄密 用户可通过Google Drive直接向Gmail添加高达10GB的文件 韩寒携个人App进军移动互联网 亮相应用汇独家发布会 摆脱谷歌 亚马逊向开发者正式发布地图API 为什么应该用模块取代C/C++中的头文件? Mozilla布道师:HTML5在移动端没有未来? 那些年,历史上留下浓重一笔的黑客们 林敏博士:透过设计看三星手机帝国崛起 散源代码(4)- 矩阵乘法动态规划 求救!求救! 如何用VC开发NT/2000下的服务程序? 在SQLPLUS下怎么删除表里的一些字段的空格? 散源代码(5)- N皇后问题回溯法文本动态图示 画饼图? 问一个关于变量作用域的问题? 能不能将word中的表格转换成表单中的表格,并保持格式不变???? VFP问题,为什么老显示文件正在使用 无限惊喜等着你!! 大家有没有这样的经历????? 谁有关于domino的一些资料,请告诉我!3ks 如何让组合框初始显示为某一指定的行??就像vb中使用listindex一样??? 散源代码(6)- 货郎担问题回溯法 散源代码(7)- 求解货郎担问题的分枝限界算法图形演示(v2) 请教windows xp 网络共享问题 你想有额外的收入吗? 如何在SQL Server中,让一个用户作另一个用的别名 谁有skinengine2.0的密码? vc++.net简单问题-必定送分 怎么分割? 紧急求助:(无以为报,奉送点值20分) 散源代码(8)- 动态规划算法计算网络的最长路线和最短路线 oracle 9i支持哪些jdbc驱动? 赚钱秘籍!!! 用ACCESS设计了一报表,在VB中如何调用? 求在CRichEditView中设置位图背景的代码?谢谢! 怎么在一个CStatic上用程序动态显示BMP图片 javabean+tomcat访问数据库,如何配置阿!大虾帮帮我吧!搞来稿去就不行! 我想在运行时把form里面的所有控件缩小一半(控件很多,不想一个一个设),该怎么办? c++builder6快出现了。散分!!!!!!!!!!!!!!!!!!! 如何在程序中插入 EXCEL表格 我是个菜鸟,我这个问题这么这么的简单,以经在CSDN上问了好多好多天,为什么就是没有人会帮我解决? 急,所以到谁圆问一下,.dwg的文件是什么格式,用什么打开,谢谢! 一段读串口的代码有问题,高手帮我看看 紧急求救!!!怎样用C++Builder在链接服务器中创建一个表呢?SOS 特惠虚拟主机:dtp.51.net! 想把一系统内存块拷贝到位于D3DPOOL_DEFAULT的Surface中,怎样做更快?谈谈你的经验吧 在msdn中我看了一下午关于枚举的可就是不明白他到底在什么情况或者处理什么情况的时候用? All-in-Wonder Radeon 是不是不支持 Real Producer???? 用ACCESS设计了一个报表,在VB中如何调用? 支持ASP、PHP高迅特价主机:(推荐)dtp.51.net 套接字问题再次提问 C#参考文档要的举手啊! 怎样做服务程序? (在系统后台运行) TComboBox的text能否设为只读? 站点属性中“应用程序保护”有三个选项,分别是---低,中,高。有什么区别吗?安全性有什么不同?为什么有的isapi程序必须设置成低才能正确执行啊? 怎样才能使Web页上的ACTIVEX控件自动下载注册? ADO 与 DATA MODUAL 怎样判断一个文本文件中的数据。 绝对的诚意邀请高手加盟 电金的天王不锈钢表 那个金色电镀容易褪色不?耐磨不?戴过的说说 加工中心铣键槽问题,键槽宽度为8MM,10MM,12MM,深度5MM左右,用钨钢刀一刀铣还是分层铣好! 求2500--4000的变速车,美利达捷安特都行,不要自组,将配置(越详细越好,详细的我会提高悬赏)、价钱写下来 手表可以电镀吗?我爸爸给我买了只手表带了2个多月,现在天气热,容易出汗,都掉了不少漆了,也被我摔了好几次,也摔花了,我的手表是全黑全自动机械法拉利牌子的手表,2000多买的,我想拿去电 304不锈钢加工直径16要保证孔的深度用什么刀(直径公差+0.02深度+-0.018)用加工中心加工,在直径68 上,0度180度270度各分布一个,中间是10.5的通孔 轿车变速器的齿轮一般用什么材料的 合金电镀手表和钛合金电镀手表哪个更好? 内孔直径16 公差0至+0.05 深度266的深孔如何加工 不同颜色的物体反射不同颜色的光,那么光照在黑色的物体上反射什么光,照在白色物体上反射什么光?别生气.都是为了探讨啊.有反射黑光的说法吗?黑光是什么光?如果说黑色物体几乎不反射光 高额铸铁中各元素作用? 机加工:螺纹最钻孔深度我想知道相应螺纹能钻孔的最大深度?就是想知道,例如M5的螺纹孔在一般工艺情况下,能最大的钻孔深度是多少?有没有类似的一张表可以查到 另外希望能回答的更详细 白色物体能反射什么颜色的光 钛元素与铅元素分别在铸铁中会起到什么破坏性作用 真空镀膜,电镀,是不是一回事,有哪些塑料不能镀膜, 不同颜色的物体反射光颜色不同,反射光的能力也不同.判断题:1.煤不仅是燃料,还是多种工业的原料。( )2.平面镜成像是有光的反射形成的。( )3.一年四季变化是地球在公转过程中形成 什么烫金纸可以在衣服上烫金 激光钻孔一般深度范围是多少?目前较深的可以达到多深?孔径多大?激光钻孔的深度和孔径有什么比列关系?和材料的关系呢?激光钻孔速度能达到多快? 我想问下铸铁件加工用的切削液,工作液应该是什么样的颜色?有这样一种情况,加工用的切削液刚配好是透明的,由于加工铸铁件颜色变的有点发黑,是不是正常的? 烫金纸现在什么价格?有么有一个价格的对比? 这种履带液压钻井机它的行走速度是多少?钻孔深度、直径及钻杆直径分别是多少? 在钻削铸铁铁,碳钢,不锈钢时钻削速度以及切削液的比较,切削液的做用?跪求好心人帮下忙 上海哪家烫金纸做的好? 金属表面反光问题我做实验拍摄柱状金属表面的小裂纹,但是有条反射的光亮线妨碍拍摄,应该怎么办? 有什么切削液防锈功能最好?用乳化油来做切削液,我都已经尽量做好防锈了,但是铣床工作台上和平口钳上还是出现了一些锈斑,停了半个小时没清理就出现锈迹,实在是无奈呀! 之前听人说用水 烫金纸和烫金泊的区别.他们区别是什么? 怎样去除金属表面的胶我的工作用具上粘了好多的 胶 怎么也弄不掉啊 急死我了 什么切削液的防锈性能比较好? 钻孔时材料的强度,硬度高,钻头直径大时,宜用觉___的切削速度,进给量也应_____. 玻璃切削液的选用原则?求科普, 切削液靠什么防锈 请问塑料电镀材质是什么? 请问,切削液加注可以取用方法? 切削液防锈吗 PC塑料材料电镀后能否超声波焊接? 怎样合理选用切削液 为什么铝丝浸入硫酸铜溶液中变色 膨胀螺丝和打孔最近搞装修和安装的工人都回家了,我平时动手也比较多,就是没装过大的膨胀螺丝,这次需要自己装一个M8的,钢的膨胀螺丝,冲击钻有的,以前没装过,所以问下有经验的网友,是否 金属加工中心如何用切削液呢?以及切削液的区别及选用标准? 将一根用砂纸打磨过的铝丝浸入硫酸铜溶液中,下列观察到的现象和结论正确的是1铝丝表面附着红色固体.2铝丝表面有大量气泡.3溶液的蓝色变浅.4溶液中一定有铝例子,硫酸根离子.6溶液质量 钻孔桩中钻孔的深度、直径、位置和孔形如何测量 为什么白色的衣服反光,黑色的衣服吸光?从物理的角度来分析!为什么白色物体能反射任何色光,黑色物体能吸收任何色光? 将铝丝浸入硫酸铜溶液中得到什么现象?溶液中减少离子的是,增加离子的是? 哪些塑料和金属可以电镀青古铜?谢谢 为什么黑色可以吸收几乎所有的光,黑板还会反光?越详越好,但别瞎闹. 现在的金属切削液有没有防锈的功能,哪家公司的金属切削液比较好? 深层搅拌桩直径0.5米,深度10米,钻孔用时是多少? 深色物体反光能力().吸收热的能力().浅色物体反光能力().吸收热的能力() 用家里的物品做化学实验写出实验用品,现象,化学反应式,结论 用生铁壶有什么好处? 塑料添加什么电镀效果好 切削液的废液量该如何计算,废切削液应如何处置 请问生铁壶真的能够起到补铁的作用吗?用煤气炉可以煮吗? 电镀到金属或塑料上的金属铬有没有磁性?镀铬一般为多厚? 玻璃切削液产生的废液该如何处理? 已知待加工直径为80毫米,车床主轴转速为400转/分,车刀进给量为0.25毫米/转, 塑料产品电镀后为什么会弯 塑料产品电镀后两边有些歪曲,请问是什么原因啊 急加速撮车怎么办 手表电镀金黄色怎么去除 压铸铝合金ADC12的材料,采用CNC加工钻孔,直径在2~10mm的孔径精度能保证在什么公差范围? 汽车如何加速
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn