程序测试


最后一步,我们先运行服务端,接着连续运行两个客户端,看看它们的输出分别是什么:

大家可以看到,在服务端,我们可以连接多个客户端,同时为它们服务;除此以外,由接收的字节数发现,两个客户端均有两个请求被 服务端合并成了一条请求,因为我们在其中加入了特殊的协议,所以在服务端可以对这种情况进行良好的处理。

在客户端,我们没有采取类似的处理,所以当客户端收到应答时,仍然会发生请求合并的情况。对于这种情况,我想大家已经知道该如 何处理了,就不再多费口舌了。

使用这种定义协议的方式有它的优点,但缺点也很明显,如果客户知道了这个协议,有意地输入[length=xxx],但是后面的长度却不匹 配,此时 程序就会出错。可选的解决办法是对“[”和“]”进行编码,当客户端有意输入这两个字符时,我们将它替换成“\[”和“\]”或者别的字 符,在读取后再将 它还原。

关于这个范例就到此结束了,剩下的两个范例都将采用异步传输的方式,并且会加入更多的协议内容。下一篇我们将介绍如何向服务端 发送或接收文件。

 

 

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:客户端的实现
下一篇:Part4
评论列表

发表评论

评论内容
昵称:
关联文章

程序测试
VS制作C#程序windows安装程序
测试文档-wupanfeng
显卡测试测试GPU渲染性能 网站地址
JocPlanTask 测试并运行任务
dotnetCampus.UITest.WPF 一个支持中文用例的界面单元测试框架
GZUpdate自动升级程序客户端演示
Python暂停程序执行
EFCore数据库提供程序
WPF程序级资源
微信/支付宝 在线支付测试工具
Windows服务程序开发
sqlsugar freesql hisql 三个ORM框架性能测试对比
DBHelper SqlSugar EntityFramework 增删改查 性能对比测试
测试
IIS程序池回收配置
GZUpdate自动升级服务 .NET C/S Winform客户端程序自动升级演示
C# 邮件发送,阿里云邮箱参数设置,邮件发送测试工具下载
.NETCore IIS应用程序池事件监听
C# winform程序判断是否管理员运行