vc多线程聊天程序课程设计

vc多线程聊天程序课程设计

ID:20486858

大小:265.77 KB

页数:10页

时间:2018-10-13

vc多线程聊天程序课程设计_第1页
vc多线程聊天程序课程设计_第2页
vc多线程聊天程序课程设计_第3页
vc多线程聊天程序课程设计_第4页
vc多线程聊天程序课程设计_第5页
资源描述:

《vc多线程聊天程序课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一、设计目的综合运用本课程及计算机网络的相关知识设计并实现一个网络应用程序,以VisualC++作为开发平台,通过实践复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力。通过具体程序的编写过程深入具体的认识操作系统所学的知识,掌握进程间通信、同步互斥、多线程、windows消息处理机制以及文件没存管理I/O等。通过课程设计将所学知识具体实现,深入了解。二、设计内容与实现功能学院机房扩充越来越大,同学们一起上机的时候交流很不方便,往往需要从机房的一端走到另一端,交流的声音也比较杂乱,容易影响其他Ml学,针对这种情况,现拟定开发一个局域网聊天室程序,要求可多人在线同时进行聊天,也可以分成

2、多组进行不同的聊天此次开发的网络聊天工具仅作为机房内部个人的交流工具使用,通信的安全性并不做出要求,但要求信息的响应速度要较快,让用户充分享受到M络即时消息的方便和快捷。本聊天工具由服务器端程序和客户端程序两部分组成,整体采用C++平台开发,没有使用管理数据库。服务器和与客户端都包含与用户的交互式界面,它有必要的界面的按钮,向用户提供网络即时消息的功能。本聊天需要包含如下本功能:界面内容:1.初始界面:本机信息、群聊功能、私聊功能、好友列表。2.本机信息:IP、昵称。3.群聊界面:对话框、发送框、字体设罝、群内人员列表、聊天记录、添加对方到好友列表。4.私聊界面:对话框、发送框、字体设置、

3、对方信息、聊天记录。5.字体没置界面:字体、大小、颜色、默认、保存。6.好友列表界而:添加好友、与好友私聊功能。服务器端1.本机TP侦测2.或许本机通讯端门3.本机主机名侦测4.接受客户端连接5.接受客户端发来的信息1.转发客户端发来的信息2.侦测局域网内的所有主机名称和IP3.向局域网内任意主机发送信使消息4.服务器简约界面和详细列表界面两种风格客户端1.本机IP侦测2.或许本机通讯端口3.本机主机名侦测4.连接到服务器端,搜索连接服务器5.设置聊天昵称,有选择的连接服务器6.向服务器发送用户自定义消息,并通过服务器转发自定义消息二、设计内容三、系统分析与设计1、系统分析(1)、需求分析

4、学院机房扩充越来越大,同学们一起上机的时候交流很不方便,往往需要从机房的一端走到另一端,交流的声音也比较杂乱,容易影响其他同学,针对这种情况,现拟定开发一个局域网聊天室程序,要求可多人在线同时进行聊天,也可以分成多组进行不同的聊天。需要实现功能在聊天室多人聊天,单对单聊天或者多组聊天。(2)、可行性报告学校机房存在着普通的局域网,网络条件满足网络编程需耍使用Socket套接字等技术,可以在短时间内掌握,技术条件满足课程设计时间为两个周,这段时间编码调试写实验报告,吋间条件也基本上满足局域网聊天工程量并不多,只需要一个人做即可完成,人员条件也满足。本课程设计主要解决在客户端与客户端的信息交换

5、和客户端与服务器的信息交换及服务器的信息处理上的管理的课程设计。此程序主要分为两部分:服务器端和客户端。服务器端用于提供一个M络端口,等待客户端发出请求,登录到此服务端,然后进行网络通讯和消息的转发:客户端可通过服务器端发送连接请求,然后登陆聊天室。在服务器端的成员列表栏屮会显示在线的所有人名单,有人退出聊天室,成员列表会自动除名。服务器端同时也提供了成员之间的私聊功能,此时服务器端作为一个转发站,进行消息的转发。整个程序的主体使用了CSocket(同步阻塞封装类)类的方法,实现了网络通讯聊天。先启动服务器端聊天程序,这是聊天服务器需要指定一个端口号,客户端则根据这个端口号以及服务器的网络

6、地址与服务器进行通信。服务器启动后将在这个指定的端门号屮等待客户的连接。对于公共聊天室,服务器对客户的数0不做任何限制。而对于私人聊天室,每个聊天频道则只能允许两个客户互相连接,使得一方发送的信息只能到达对方的主机中。这里的服务器提供的是公共聊天服务。通过分析发现,该程序完全可以通过VisualC++中MFC完成。(1)、功能具体实现规划Socket技术要以接受和发送为依据分为客户端和服务器端两种不同的程序,现拟定本局域网聊天程序也分为客户端和服务器端两个部分,服务器部分实现接受客户端连接,接受并转发客户端消息的功能,查看监视局域M信息,向特定主机发送通知,客户端实现向服务器发送登陆消总,

7、并发送用户自定义消息,接受服务器发送来的消息的功能。整个程序依照功能划分模块可以氛围。<1〉界面显示此模块主要用来在屏幕上绘制用户图形界面,使用户有更好的视觉体验。〈2〉功能初始化此模块主耍用来初始化必耍的类库,对其他功能的正常进行起基础作用。<3〉消息处理此模块主要对网络消息,和用户操作产生的消息进行处理。<4〉资源销毁当程序运行结束时或者某些资源不再需要时,由此模块负责销毁这些不再需要的资源。2、系统设计:客户端网络

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

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

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