版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学院计算机学院专业计算机科学与技术班级题目局域网聊天室程序课程名称VC++课程设计时间该系统要求完成聊天室的全过程,包括客户端和服务器两大部分的编程及其连接。服务器端聊天程序负责接收和发送来自客户端的聊天信息,客户端聊天程序负责建立和维护与服务器端的连接,想服务器发送(1)通过实际软件项目的分析、设计、编码、测试等工作,掌握用工具也层出不穷,但当我们学习了《windows程序设计天程序,利用MFC为开发工具,实现基本的通讯功能。在课程设计中,系统开发平台本课程设计主要解决在客户端于客户端的信息交换和客户端于服务器的信息交换先启动服务器端聊天程序,这是聊天服务器需要指定一个端口号,客户端则根据这个端口号以及服务器的网络地址与服务器进行通信。在这里,把端口号成为“聊天频服务器启动后将在这个指定的端口号中等待客户的连接。对于公共聊天室,服务通过分析发现,该程序完全可以通过VisualC++中MFC完成。2.1设计目的C++作为开发平台,通过实践复习巩固课堂所学的理论知识,提高对所学知识的综合应2.2设计要求采用客户/服务器模式,分为客户端程序和服务器端程序2.4系统主要功能和主要功能描述(1)客户端聊天程序要负责建立和维护与服务器的连接,通过获取用户的设置尝试用户输入一行信息并且按下回车键后聊天程序就要把这一行信息发送出去,才(3)要随时准备好接受来自服务器的信息,随时把接受到的信息显示出来,让用户(4)在用户退出聊天过程是要关闭与服务器的连接。比较好的做法是提前通知服务器或者直接给服务器发送一条退出通知,使得服务器能够及时掌握客户端的连登陆服务器并向服务器发送信息,启动服务器,服务器等待客户要求并向客户反馈在线用户信息,用户向服务器发送信息,服务器处理用户的数据,然后用户开始聊天。客户端的聊天分为对所有人的信息和私聊的信息,该信息应通过程序控制分别进行处图4.1登陆服务器界面图4.3张三登陆服务器图4.3李四登陆服务器图4.4李四发送消息服务端界面图4.4张三发送消息服务端界面图4.6李四发送消息的客服端界面图4.7张三发送消息的客服端界面GetDlgItem(IDC_BTNSTART)->EnableWindow(FALSE);GetDlgItem(IDC_BTNSEND)->EnableWindow(TRUE);g_ServerSocket=socket(AF_INET,SOCK_STREAM,0);//创建套接字if(INVALID_SOCKET==g_ServerSocket){}SOCKADDR_INif(SOCKET_ERROR==bind(g_ServerSocket,(SOCKADDR*)&svraddr{}{}g_hmutex=CreateMutex(NULL,FALSE,NULL);//创建互斥量DWORDWINAPI{SOCKADDR_INSOCKETRecvSocket;//recvif(INVALID_SOCKET==RecvSocket){}BOOLContinueFlag=TRUE;while(ContinueFlag&&TRUE){BYTErecvBuff[RECV_DATA_SIZE+2]={0};if(SOCKET_ERROR==recvedSize){//WSANOTINITIALISED}UINTCmdFlag;{}BOOLcomeFlag=TRUE;//是否加入用户列表的标记CChatRoomServerDlg*Server//解析客服端发来的消息以便确定消息的{caseCONNECT://用户发来的连接请求{{if(SOCKET_ERROR=={}}}//向该用户发送一条LIST消息使其将所有在线用户加入用户列表{{}}{if(SOCKET_ERROR{}}{{comeFlag=FALSE;}}{}if(SOCKET_ERROR{AfxMessageBox("CONNECT中向客户端发送登陆成功消息失败!");}入用户列表%Y年%m月%d日%H:%M:%S登录");{{}} {{{}}}%Y年%m月%d日%H:%M:%S下线");{{}}}}}{}g_ClientSocket=socket(AF_INET,SOCK_STREAM,0);//创建套接字if(INVALID_SOCKET==g_ClientSocket){}DWORDdwIP;SOCKADDR_INif(SOCKET_ERROR=={}if(SOCKET_ERROR==码发给服务器{}GetDlgItem(IDC_BTNSEND)->EnableWindow(TRUE);GetDlgItem(IDC_USERLOAD)->EnableWindow(FALSE);DWORDWINAPI{while(TRUE){BYTErecvBuff[RECV_DATA_SIZE+2]={0};if(SOCKET_ERROR==recvedSize){}//此函数不会分解AUDIO命令,直{}{{}casePRIVATE:{}}}}G
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年气体分离及液化设备项目申请报告模板
- 2025年压缩式垃圾车项目提案报告范文
- 企业员工辞职信范文(15篇)
- 2024年未实缴出资股权投资退出与转让服务合同3篇
- 2025年抗蛇毒血清项目提案报告模范
- 2025年柔性树脂版项目申请报告模式
- 教师综合培训的心得体会5篇
- 我的大学生活演讲稿
- 我的未来不是梦演讲稿(15篇)
- 学校学生实习自我鉴定(集合5篇)
- 【企业盈利能力探析的国内外文献综述2400字】
- 全国职业院校技能大赛高职组(智慧物流赛项)备赛试题库(含答案)
- 职业生涯规划-体验式学习智慧树知到期末考试答案章节答案2024年华侨大学
- 医学生创新创业基础智慧树知到期末考试答案2024年
- 大学生国家安全教育智慧树知到期末考试答案2024年
- 同济大学信纸
- 2019版外研社高中英语必修二单词默写表
- 美的分权规范手册
- 混凝土连续箱梁满堂支架现浇施工工艺标准By阿拉蕾
- 教程学习基础网站上的mike urban
- 危险化学品储存安全检查表(共4页)
评论
0/150
提交评论