图4 文本聊天程序流程图
4.2 文件传输模块实现
除了文本聊天以外,局域网内另外一个应用是文件的共享。文件共享的实现离不开文件传输。由于TCP协议能保证数据包的准确到达以及各数据包到达的顺序和数据包发出的顺序相同,出于可靠性和效率考虑,本模块也采用TCP协议来进行用户之间文件的传输。
开启窗体后,接收端执行监听线程。当接收到客户发起的文件传入请求后,弹出消息提示,提示用户对请求进行处理,同意或者拒绝接收。若同意接收,则弹出文件保存对话框,用户选择文件保存路径并确认后,发送接收信号给文件发送端,启动计时器开始接收文件流,将远程文件保存在本地,并在文件传输过程中对文件传输状态进行反馈,文件接收完毕后,关闭计时器,关闭文件流,并在状态栏上显示出完毕状态。若拒绝接收,则向发送端返回拒绝信号,继续执行监听线程,等待下一次的文件传入请求。文件传输接收端工作流程图如图5所示。
图5 文件传输发送端(左)和接收端(右)程序流程图
5 系统测试
系统测试分为白盒测试和黑盒测试两个部分,白盒测试由自己完成,黑盒测试由同学帮忙完成。
首先是白盒测试:在文本聊天程序退出时,常常发生错误,异常退出,造成表面上看程序已结束,但却仍然驻留在内存中的现象。经过反复分析代码,最终确定问题出在程序退出处理流程上,通过修改和调试,问题解决。
当两个客户端在建立连接时,出现过程序假死异常。分析代码发现,线程调度出错,接收消息线程还未创建和启动,监听线程已经被销毁了!经过修改代码解决了问题。
整个开发过程中,共历经多次相互断开、连接测试,文本聊天模块终于可以正常运行。借助在文本聊天模块开发过程中积累的经验,较顺利的完成了文件传输模块的开发。通过在总集成后的程序的各个流程中添加消息提示框显示程序内部数据、对象的状态本文来自辣~文)论'文`网,
毕业论文 www.751com.cn 加7位QQ324~9114找原文,并插入断点进行单步跟踪发现各模块工作正常,数据也未发生异常现象。
然后是黑盒测试:黑盒测试又分为功能测试和容错测试。用两台机器通过交换机等构成一个局域网,进行正确的网络配置。先在其中一台机器A上启动服务端软件,开启监听服务。当A机器和B机器启动了客户端软件后,向服务器进行登录操作,服务器端验证了用户的登录后,更新自己的用户表,然后客户端广播自己的信息,互相更新用户表,之后客户端自主的通信,双方正确接收消息,功能测试成功。
经检查,当用户输入无效操作时,系统总是能检测到无效操作,对用户进行相应的信息反馈,并合理的做出内部处理。当系统本身发生错误,比如网络初始化失败,绑定套接字失败,数据读取失败等,都会进行相对应的正确处理。容错测试成功。
上一页 [1] [2] [3] [4] [5]
C#局域网聊天工具的设计与实现 第5页下载如图片无法显示或论文不完整,请联系qq752018766