网络编程_基于TCP的简易聊天室_实验报告

网络编程_基于TCP的简易聊天室_实验报告

ID:48318413

大小:898.50 KB

页数:42页

时间:2020-01-10

网络编程_基于TCP的简易聊天室_实验报告_第1页
网络编程_基于TCP的简易聊天室_实验报告_第2页
网络编程_基于TCP的简易聊天室_实验报告_第3页
网络编程_基于TCP的简易聊天室_实验报告_第4页
网络编程_基于TCP的简易聊天室_实验报告_第5页
资源描述:

《网络编程_基于TCP的简易聊天室_实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网络编程课程设计说明书题目名称:基于TCP/IP的网络文字聊天程序设计专业:网络工程班级:1201班学号:1220140105姓名:蒋星指导老师:陈利平完成日期:2014年12月13日目录一、实验基本信息概要31.题目要求32.题目内容33.开发环境3二、流程图4三、系统简介51.界面52.软件功能53.系统设计94.优点与缺点9四、系统详细设计111.ChatServer类112.ChatClient类133.SocketException类155.命令协议156.消息格式16五、系统测试161.服务

2、器使用错误162.客户端使用错误173.启动服务器174.启动客户端175.关闭客户端176.启动服务器错误提示187.公开聊天188.私聊189.错误的私聊1910.更名2011.帮助2012.非法指令2013.非法的指令参数2014.连接服务器失败21六、心得体会21七、完整代码21Charserverd.cpp服务器main函数文件21ChatServer.h服务器类头文件22ChatServer.cpp服务器类23ClientInfo.h客户信息类33Charclientd.cpp客户端main

3、函数34ChatClient.h客户端头文件34ChatClient.cpp客户端类35InitSock.cpp初始化WINSOCK类41SockException.h异常类41八、[参考文献]42一、实验基本信息概要1.题目要求1、开发平台VisualC++6.0。2、对设计方法的要求使用VisualC++6.0开发出在Windows控制台或图形界面下运行的程序。3、对设计内容的要求①实现网络文字聊天程序的服务器端。②实现网络文字聊天程序的客户端。③主程序的结构和流程。④程序运行过程的截图。⑤网络文字

4、聊天程序的实现原理。⑥网络文字聊天程序实现代码的分析。4、对课程设计说明书的要求①设计思路与开发过程。②对主要代码段要有较详细的注释。③对本次设计的评价、设计的收获与建议。5、说明书为打印件2.题目内容内容概要:实现网络文字聊天程序的基本功能。3.开发环境操作系统:Windows7开发语言:C++集成开发环境:MicrosoftVisualStudio2010二、流程图三、系统简介1.界面本软件使用DOS控制台界面,界面风格较为朴素。服务器:客户端:2.软件功能本软件实现了聊天室基本的功能,包括公开聊天

5、,私聊,获取在线用户,更改昵称,获得帮助等。1)公开聊天在光标处直接输入消息后按回车即为发送公开聊天,如下图所示。2)私聊使用命令【/m对方UID消息】即可发送私聊,私聊只有对方可以看到,如下图所示:客户端1,密聊UID为132的用户。发送后客户端2,UID为132的用户收到私聊消息。1)获取在线用户列表使用命令【/list】即可获得在线用户列表,用户列表会议系统消息的方式返回,如下图所示。命令发送后1)更改昵称使用命令【/name你的新昵称】即可立即更改昵称,成功修改后服务器会以系统消息的方式返回成功

6、修改的提示。命令命令发送后2)帮助信息使用命令【/help】即可查看服务器的欢迎信息,里面包含了该聊天室的使用帮助,如下图所示。命令命令发送后3.系统设计开发本软件时,我使用了面向对象的思想,把服务器和客户端封装成对应的类,类设计将会在下一节做详细介绍。通行方面我在服务器接受客户端消息,和客户端接受服务器消息时使用了select模型,发送信息我使用的是普通的socket原语。基本原理为服务器与客户端建立TCP连接,然后服务器负责路由消息到各个客户端。4.优点与缺点本软件对流程复杂的SELECT模型进行了

7、细致的拆分与抽象,做到了逻辑流程清晰,每个函数简洁易懂,层次分明。例如服务器启动函数:voidChatServer::Start(){InitListenSocket();Bind();Listen();InitFDSocket();while(true){DoSelect();}}try{charServer.Start();}catch(SockExceptione){cout<

8、tErrorCode()<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。