c聊天室设计报告.doc
文本预览下载声明
计算机科学与技术学部
C++课程设计
题 目 聊天室
学 部 计算机科学与技术
班 级 计科 1103
指 导 教 师 李 军
姓 名 周 荣 汪婷婷
2012年6月2日
摘 要
当前是数字信息时代,网络时代,任何一种编辑工具都不能忽视在网络上的应用,并且随着Internet 的普及和宽带技术的成熟,与此同时一个新型的Web应用程序为网民之间提供了一个实时通信的功能和场所,这就是聊天室。
在网络早期就开始盛行,不论是BBS,IRC 都有类似网上聊天室的机制。聊天室为网友提供了实时性对话的渠道,是网络上极为流行的一项服务。
聊天室就好比计算机上的一个应用程序正在等待另一个程序打开通信连接,很像您在等待某人给您打电话时,一直在留心电话铃响,与此同时,另一个应用程序试图同第一个应用程序连接,这种试图打开连接的方式就类似于向某人打电话,您拨了电话号码,并希望要找的那个人正在电话线的另一头等待接电话,一旦两个应用程序间建立了连接,它们之间就可以互相发送和接收信息了,正像两个人打电话交谈一样.最后,如果一方或双方完成了对话,连接即被关闭,就像打完电话后把电话挂断一样.
关键词: 客户端;服务器;CSocket;VC++
课程设计任务分配表
表1 信息表
姓名 主要工作 组长 周荣 服务器端、制作Word文档 组员 汪婷婷 客户端、制作Word文档
课程设计成绩表
表2 成绩表
姓名 学号 班级 成绩 组长 周荣 11430524816814 计科1103 组员 汪婷婷 11430522814059 计科1103
目 录
第1章 前言 1
1.1 简介说明 1
1.1.1 1
1.1.2 可行性分析 1
1.2 1
1.3 设计内容 2
3
2.1 客户端的实现 3
2.1.1 创建一个新类CWCSock,用于与服务器通信 3
2.1.2 建立与服务器的连接 4
2.1.3 向服务器发送数据 4
2.1.4接收服务器发来的数据 5
2.1.5关闭与服务器的连接 5
2.1.6处理自定义消息 6
2.1.7控件的状态更新 7
2.2 服务器端的实现 8
2.2.1 创建创建侦听类CLSock 8
2.2.2 增加一个读写类CRWSock 8
2.2.3 接受客户的信息 9
2.2.4处理客户的连接请求 11
2.2.5启动服务器 11
2.2.6关闭服务器 12
2.2.7控件的状态更新 12
14
3.1 程序运行测试 14
3.2.1 程序主界面图 14
3.2.2程序连接图 15
3.2.3 服务器没有启动时的连接图 17
3.2.客户端与服务器端聊天图 17
3.2.关闭客户端,服务器端显示图 18
19
参考文献 20
第一章 前言
1.1 简介说明
1.1.1 设计目的
本课程设计为学生提供了一个既动手又动脑,自学,查资料,独立实践的机会。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对C++系统编程有一个大致的了解。“Insert”菜单的“New Class”菜单项,在New Class对话框中,Bass class列表框中选取CSocket作为基类,单击“确定”按钮,VC++就为ClientChat工程创建了一个新类CClientSock,相应地为工程创建了两个文件CClientSock.h和CClientSock.cpp 。
图2.0 新建CClientSock类
2.1.2 建立与服务器的连接
聊天室首先要执行的一个模块,只有与服务器端连接好才能通信。
void CCClientChatDlg::OnConnect()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if(!sockClient.Create())
{AfxMessageBox(Create WC socket failed);
PostQuitMessage(0);
}
if(!sockClient.Connect(m_server_name,m_nPort))
{MessageBox(连接失败!);
sockClient.Close();
return;
}
m_Dat.m_bOnline=true;
GetDlgItem(IDC_CONNECT)
显示全部