网络聊天工具设计报告

网络聊天工具设计报告

ID:22415274

大小:159.50 KB

页数:14页

时间:2018-10-29

网络聊天工具设计报告_第1页
网络聊天工具设计报告_第2页
网络聊天工具设计报告_第3页
网络聊天工具设计报告_第4页
网络聊天工具设计报告_第5页
资源描述:

《网络聊天工具设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、VC++课程设计报告书姓名:123学号:123专业:网络工程前言当今社会,随着科学技术的飞跃发展,计算机已经进入了千家万户,互联网上的各种聊天工具也层出不穷。比如大家所熟知的腾讯QQ、微软的MSN、移动的Fetion等,都是做的比较成功的实时聊天工具。当我们沉浸在这些聊天工具花花绿绿的界面和与好友畅聊的时候,殊不知,界面之下程序开发的难度。本程序是我和456同学合作编成,构思期间花费了很多心血,自认为考虑还算周到,可是到了编成过程中就遇到了很多困难,例如:服务器无法登录,数据库加载失败,聊天信息无法发送等现象。经过老师指点才知道一些细节没有考虑到,经过修改多次终于成功。在程序中运用到的知识有

2、文件操作,注册表,动态链接库,多线程编程,数据库的应用技术,网络套接字的编程。编者2013年7月7日目录一、题目及需求4二、需求分析42.1设计目的42.2设计要求42.3®序功能4三、实验流程图5四、程序代码7五、总结13六、参考文献13一、题目及需求客户端能够登录服务器,通过服务器向客户发消息,可显示好友信息,选择向好友发送消息。服务器设有数据库,纪录客户的账号密码IP地址端口号等信息。二、需求分析2.1设计目的使用VC++6.0平台实现网络应用编程,通过实践复习巩固课堂所学的知识。2.2设计要求采用客户/服务器模式,分为客户端程序和服务器程序。客户端需登录服务器,并能够注册账号,写入服

3、务器数据库。服务器支持多个用户同时在线聊天,在客户之间充当客户信息中心和转发中心2.3程序功能2.3.1聊天服务器主要功能要在待定端口等待聊天客户连接请求,如果是注册则要更新数据库;是登录则检测是否有此用户存在,不存在返回给此客户端错误。2.3.2服务器接收来自客户端的信息,检测对应ip和与服务器建立连接的socketlp相同的,通过此向目的客户端发送信息。2.3.3如果客户端有上线或者下线,那么就更新用户信息数据库文件,并向所有在线用户发送新在线用户表。三、实验流程•z开始监听建立连接是否有此用户接受数据是注册、登陆还是发送数据登陆查有此用户回陆功返登成注册。更新数据库,向在线用户转发数据

4、库新信息更新数据库(不转发)程序代码以下是程序的代码部分:客户端:发送:voidCChatDlg::OnSend(){//TODO:Addyourcontrolnotificationhandlercodehereintilen;intisent;UpdateData(true);if(m_msg!=n"){ilen=m_msg.GetLength();isent=m_socket.Send(LPCTSTR(m_msg),ilen);//发送数据if(isent==SOCKET_ERROR)//发送失败{MessageBox(n链接失败,请重试!n);)else{m_recmsg+=''客户

5、机:"+m_msg;m一recmsg+=’'rn;UpdateData(false);}}}屏幕刷新:voidCChatDlg::RefreshScreen(){UpdateData(O);}连接:voidCChatDlg::OnConnect()//TODO:Addyourcontrolnotificationhandlercodehereif(!AfxSocketInit())//初始化AfxMesScigeBox(HIDC_SOCKETS_INIT_FALLEDureturn;GetDlgItemText(IDC_IPADDRESS1,m_ipstr);msocket.mhSoc

6、ket=INVALIDSOCKET;UpdateData(true);boolflag=m_socket.Create();//创建套按字if(!flag){AfxMessageBoxC'SOCKETSERROR1*);return;}m_socket.Connect(m_ipstr,m_port);//进行连接}接收消息:voidMysocket::OnReceive(intnErrorCode){//TODO:Addyourspecializedcodehereand/orcallthebaseclass//获取对话框指针CChatApp*pApp=(CChatApp*)AfxGetAp

7、p();CChatDlg*pDlg=(CChatDlg*)pApp->m_pMainWnd;//往编辑框中插入消息char*pbuf=newchar[4096];intibufsize=4096;intircvd;CStringstrrecvd;//接收数据ircvd=Receive(pbuf,ibufsize);if(ircvd==SOCKET_ERROR){pDlg->MessageBox(HSOCKET

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

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

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