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

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

 

 

 

Bug都补好了?Google发布Android 4.4.3更新 微软被传收购Xamarin 强势推进移动新战略 挑战传统金融业务 Facebook进军移动支付领域 亚马逊AWS需解决的五项问题 腾讯自曝:大数据平台的秘密 继Cloudera之后,MapR宣布对Spark的完全支持 企业实施商务智能的6个致命错误 《近匠》HBuilder:如何用JS调用几十万原生API? littleBits新推Cloud Module,普通人也能DIY智能硬件 如何创建浮动式标签模式? Office 365正式落地中国——移动为先,云为先 .NET Native:C++的性能 C#的产能? Arduino联合创始人Tom Igoe:创客,因何而创 【走近院士】高文:多媒体大数据的影响及面临的挑战 微软SQL Server 2014三大新特性:集成内存OLTP、BI和混合云搭建 Linux将会统治桌面端的7个原因 Intel首席科学家Randolph Wang:详解Edison AMD Mantle再添新作,引发下代GPU架构猜想 谈DAM决策,自建还是SaaS 证据显示:Linux战争已经转移到OpenStack RestKit:iOS开发必备,告别众多无聊代码 技术新突破:手机和平板可远程控制PC,Chrome Remote Desktop亮相 物联网高速公路上,快数据如何驱动分析 苹果或将使用雅虎的搜索引擎,抛弃谷歌 百万用户规模的系统如何扩展 大数据需要软件定义存储 倒计36小时!2014中国Spark技术峰会即将召开! 设计师专宠,Startup强大的UI设计框架 走进金山云:从技术走向服务 Qt Creator 3.1.0发布,全面支持iOS、Android、WP Google大中华区总裁石博盟与中国大学生畅谈科技与创新 十万火急!!TADOTable的lookup类型的新字段不能用于Sort吗?搞定了立即给分!! CListCtrl控件問題 怎么我在VC++6.0中的窗口属性中设一些属性好像没用一样??? 三台机器不用HUB如何实现互相访问? 请教通讯的问题 用accsee数据库 怎么不显示登陆的用户密码框? c,如何得到一个文件名中指定位置指定长度的字符串?? 服务器是否打开支持FileSystemObject对象的权限 我的数据表列宽为7个字符 , 而我只输入3个字符 , 当我输入4个字符后 , 再次运行程序却看不到所有数据 从新做人 求救:在NT Server下调用GetVolumeInformationA取分区序列号,返回结果为负数!!!怎么回事啊? 正式到新公司上班,送300分,感谢在我最困难的时候在“软件工程”版给过我帮助的朋友们!! 请问斑竹及所有人,怎样得到QuickReport的总页数? Websphere3.5的一个BUG.希望有人反对.多谢.. 什么是DAMAP的对象 哪里有 winpcap 或 libnet 及其他网络编程辅助包下载? 谁能提供PSP文档?最好是Humphrey的那本书! 代码出现bebug.请大家帮我找!!!! TO:net_lover(孟子E章),详情请入内! 有谁用过DEV express系列的dxdbgrid??它是如何把一个文本文件txt读到dxdbgrid1.columns[i]的picklist中去,作为picklist的内容的啊? 我想在Linux下做数据库开发,用什么数据好? 我的pws可能出了问题,那位高手能解决一下 关于控制winamp 各位同行你们有这个的源程序吗(Cacio DT-900数据采集器) Html Help 制作方法 luodi(无知者无畏), 请进: 我用shell(app.path+"\mdac.exe"),来调用微软数据访问控件2.0,提示出错:命令行语法错误, 求救:如何将剪贴板中的内容放到image控件上 how to get the sytax of customer user object ? jsp中的打印问题 pb中有没有类似iif之类的语句 大虾们,怎样将String 类型转换成float 请问在及时战略中,怎么实现寻路的 我想在状态栏显示时间,有没有属性可以让时间自动变化,而不用其它辅助控件? 不会没人愿意回答这个问题吧,都贴第二次了!! 吃西瓜 我在注冊自創構件時總是出錯,請各位幫忙解決. 关于ado连接sybase的问题,紧急求救!!!(我的最高分了) 29分:flexcell定位 请教一下,关于Delphi COM类型库的问题 大家来谈谈申奥成功对我们的影响吧,我想知道怎么利用这个契机大赚一笔 各位谁喜欢“后街男孩”??喜欢的给分! 请问在DBGRID中改变当前选定行的颜色? 我想在DataSourceDataChange()中实现。 客户端怎么与服务器端通信 为什么我在窗口里修改了一个记录的图片字段后,在数据窗口内不能正常显示? 我要在RedLinux71下安装WEB服务器软件,请部如何做? 如何计算某年某月的天数和每天对应的星期 help!!! 为什么我的D6在编译时出现错误:“Fatal Error QuickRpt.pas(23):File not found:'Dsgnintf.dcu' 帝国时代之农民搞笑版……哈哈 如何用DEBUG的命令取消cmos密码!!!急急急! 请教一个Redhat安装的问题 99x99+99 用简便方法怎样算 小学数学16*25+15*2简便算法 编写程序,计算圆柱体,球体,正方体和长方体的表面积和体积(提示:本题中,可先定义一 99x99十199要求用简便方法计算, 计算2008又2007分之1*2008分之2007 正方体、长方体、圆柱体的体积都可以用S乘以H来计算对吗? 99x99十199简便方法怎么计算. 求底面半径为5厘米,侧面展开为正方形的圆柱体的侧面积、表面积和体积. 用正方体,长方体,圆柱体,球体的盒子可以拼什么东西 西游记中8至几回是总写唐僧师徒历经九九八十一难? 一个圆柱体的底面直径是4厘米,它的侧面积是( )表面积是( ),体积是(一个圆柱体的底面直径是4厘米,它的侧面积是( )表面积是( ),体积是( ) 一个圆柱体如果它的高截短3厘米表面积减少94.2平方厘米它的底面半径减少多少体积减少多少 《西游记》为什么唐僧师徒要经过九九八十一难才能取回真经?这八十一难意味着什么? 一个圆柱体高10厘米,底面半径5分米,表面积是多少? 9、一个圆柱体,如果把它的高截短3厘米,表面积就减少94.2平方厘米.它的底面半径体积减少了( )立方厘米9、一个圆柱体,如果把它的高截短3厘米,表面积就减少94.2平方厘米.它的底面半径是( 西游记九九八十一难都有什么? 一个圆柱体底面半径是1分米,高是20厘米,它的体积是 表面积是 一个圆柱体,如果把它的高截短3厘米,表面积就减少94.2平方厘米.它的底面半径是多少厘米?体积减少了多少立方厘米? 求西游记中孙悟空他们经历的九九八十一难的名称劫难的名称和妖怪的名称(每个劫难)还有其下场,相当于把西游记的九九八十一难的浓缩成八十一小故事 开头 过程(经历) 结局(+妖怪 一个圆柱体的底面半径是1分米,他等侧面积是( )平方分米,表面积是( )平方分米,体积是( ) 一个圆柱体的底面半径是2cm,高5cm,它的侧面积是多少,表面积是多少,体积是多少列出算式 1,19,199,1999,2099,19999怎么念? 输入圆柱体的底面半径和高,求圆柱体的表面积和体积.请编写程序, 一个圆柱体的底面半径是4CM,高6CM,现在把这个圆柱体的高增加5CM,表面积和体积各增加多少? 1+1/1+2+1/1+2+3+……+1/1+2+3+……+2004+2005如何计算 编写程序,调用函数求一个圆柱体的表面积和体积.用c语言编写.谢谢啦. 一个圆柱体已知他的a=5cm h=2cm 求他的表面积和体积.(要有算式.) 72x0.81+10.4简便运算 计算(2/1+3/1+...+2005/1)x(l+2\1+2005\1)x(2\1+3\1+...+2004\1) 从键盘输入半径和高输出圆柱体的底面积和体积C语言 (5x一3)(5x一3)=4分之81,x=? 计算:1+2+3+…+2002+2003+2002+…+3+2+1=? c语言求圆柱体的表面积和体积求圆柱体的表面积和体积.从键盘输入圆柱体的半径和高,求它表面积和体积,保留到小数点后2位. √81+5x³=-31 这个怎么算呢. 从1/1*2+1/2*3+.+1/2002*2003怎么计算 c语言计算圆柱体的体积与表面积 要求保留三位小数为什么我的输出总是0000?#include#define pi 3.14int main(){float r,h,v,s;scanf("%f%f",&r,&h);v=Pi*r*r*h;s=Pi*2*r*(r+h);printf("%.3f%.3f",&v,&s);return 0;} 2.5x(40十4十0.4)简便计算? 计算: 1÷(1×2)+1÷(2×3)+… +1÷(2002×2003),请高手请点,谢谢 C语言编程,求我错在哪里了,目标:求圆柱体表面积和体积.#includeint main(){\x05float r,h,S,V,pi;\x05pi = 3.14;\x05scanf("%f,%f",&r,&h);\x05S = pi*r*r*2+2*pi*r*h;\x05V = pi*r*r*h;\x05printf("%f\n%f\n",S,V);\x05return 0;}我编译 递等式计算:(能巧算的要巧算) 2.8*0.9 5.4*10.1 计算1+2+3+...+2002+2003+2002+...+3+2+1 c语言已知园半径r=1.5设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球体积,圆柱体 递等式计算(能简便计算的要简便计算) 1、10.7-2.9×0.2×0.5 简算 2004+200.4+20.04+2.004 输入圆柱体底面的半径R,和高H,输出其表面积S和体积V 用VB输入圆柱体底面的半径R,和高H,输出其表面积S和体积V 20-19+18-17...+4-3+2-1递等式简便方法 2004+200.4+20.04+2.004等于多少? JAVA声明圆柱体类和圆锥体类,继承矩形类rectangle并实现volume借口,计算表面积和体积要代码哦~注意继承的不是圆~ 简便计算 (1-1/2012)+(2-2012*2)+(3-1/2012*3)+...(2012-1/2012*2012) 9.05*2.01 怎样简算 java设计:问题是编写程序计算圆柱体的体积和表面积编写程序计算圆柱体的体积和表面积.提示:1.读入半径和高.2.表面积=半径×半径×π+2×半径×π×高.3.体积=底面积×高4.注意使用的数 999x999怎么简便方法计算呀 递等式计算,用简便算法.要用乘法运算定律、加法运算定律、除法运算性质、减法运算性质.快,好的重分酬谢!(4.2-0.4×6)÷4== (15300÷600+67.5)×180==10500÷(10500÷25×1.25)==[(5.84- 输入圆柱体的底面半径和圆柱体的高,并计算圆柱体的表面积和体积,并输出结果 288十199=?(用简便方法计算) 125*1.25*0.125*8*.08*0.008*4*0.4*0.004*25*0.25*2.5=?(用简便算法计算).08改成0.8 已知圆柱体的直径是4厘米和高6厘米求它的表面积和体积 99X99十199怎简便计算 桌上摆了两盘奶糖,共50块,如果从甲盘子里面拿走5块放到乙盘子里,那么两个盘子的奶糖一样多,原来两个盘子里各有多少奶糖. 把长方体、正方体、圆柱体、圆锥体、球体分为两类为什么?请具体说明。如果考试?怎么办?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn