| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

简单的局域网聊天程序试验报告课程设计

文***品

贡献于2022-10-24

字数:5097


C++面象课程设计报告



院(系): 计算机工程学院
专业: 软件工程
学生姓名: __   
班级:__软件 学号:
题目: _局域网聊天程序________
起迄日期: _2012618~2012629
设计点: 计算机学院机房
指 导 教 师:




完成日期 2012 年X月 X日
课程设计报告容(供参考)
需求分析前数字信息时代网络时代种编辑工具忽视网络应着Internet 普宽带技术成熟越越户进入网络世界中享浏览新闻查询信息发送邮件线观电影等服务享受网络带便利办公高效时新型Web应程序网民间提供实时通信功场聊天室
网络早期开始盛行BBSIRC 类似网聊天室机制聊天室网友提供实时性话渠道网络极流行项服务
聊天室适网会议闲聊场合聊天室网友提供较交友环境网友间相互文字交谈形式点类似笔友性质节省书信返时间网交友热门原
聊天室设计目标
课题建立聊天通信模型设计聊天室软件包括服务器端客户端功:
服务器端功:
1 初始化socket 创建服务器端
2 维护链表保存户IP址端口信息
3 接受户传送聊天信息然链表中户转发
4 接受户传送连接判断命令户发出响应命令
1.
二 设计容
SOCKET连接程
 根连接启动方式套接字连接目标套接字间连接程分三步骤:服务器监听客户端请求连接确认   服务器监听:服务器端套接字定位具体客户端套接字处等连接状态实时监控网络状态   客户端请求:指客户端套接字提出连接请求连接目标服务器端套接字客户端套接字必须首先描述连接服务器套接字指出服务器端套接字址端口号然服务器端套接字提出连接请求   连接确认:指服务器端套接字监听者说接收客户端套接字连接请求响应客户端套接字请求建立新线程服务器端套接字描述发客户端旦客户端确认描述连接建立服务器端套接字继续处监听状态继续接收客户端套接字连接请求
开发ServerClient模型程序
 开发原理:   服务器ServerSocket监听指定端口端口意指定(1024端口通常属保留端口操作系统中意建议1024端口)等客户连接请求客户连接会话产生完成会话关闭连接   客户端Socket网络某服务器某端口发出连接请求旦连接成功开会话会话完成关闭Socket客户端需指定开端口通常时动态分配1024端口   Socket接口TCPIP网络APISocket接口定义许函数例程程序员开发TCPIP网络应程序学InternetTCPIP网络编程必须理解Socket接口Socket接口设计者先接口放Unix操作系统里面果解Unix系统输入输出话容易解Socket网络Socket数传输种特殊IOSocket种文件描述符Socket具类似开文件函数调Socket()该函数返回整型Socket描述符连接建立数传输等操作通该Socket实现

显示编辑框
IP
端口:
名字

发送编辑框
建立连接钮

断开连接
端口:

建立服务器
关闭服务器
发送
清空
退出

运行聊天程序
建立服务器
台电脑运行聊天程序
输入服务器IP址端口号
(输入名字)建立连接
提示连接成功(失败)
进行聊天
清聊天容
显示机IP建立连接址端口
提示xxx连接成功
进行聊天
清聊天容
关闭服务器
提示X户正连接否断开
退出
断开连接
退出
1.
2. 编写程序代码
客户端类:
class CClientSocket public CSocket
{
Attributes
private
UINT m_nTimerID
CChatDlg* m_pDlg
Operations
public
CClientSocket(CChatDlg* pDlg)
virtual ~CClientSocket()

Overrides
public
BOOL SetTimeOut(UINT uTimeOut)
BOOL KillTimeOut()
ClassWizard generated virtual function overrides
{{AFX_VIRTUAL(CClientSocket)
public
virtual void OnReceive(int nErrorCode)
virtual void OnClose(int nErrorCode)
virtual BOOL OnMessagePending()
void CClientSocketOnReceive(int nErrorCode)
{
TODO Add your specialized code here andor call the base class
char buffer[BufferSize]
Receive(buffer sizeof(buffer))
m_pDlg>ShowText(CString(buffer))

CSocketOnReceive(nErrorCode)
}

void CClientSocketOnClose(int nErrorCode)
{
TODO Add your specialized code here andor call the base class
PostMessage(m_pDlg>m_hWnd WM_CLIENT_CLOSE 0 0)

CSocketOnClose(nErrorCode)
}

BOOL CClientSocketOnMessagePending()
{
TODO Add your specialized code here andor call the base class
MSG msg
if (PeekMessage(&msg m_pDlg>m_hWnd WM_TIMER WM_TIMER PM_NOREMOVE))
{
if (msgwParam m_nTimerID)
{
PeekMessage(&msg m_pDlg>m_hWnd WM_TIMER WM_TIMER PM_REMOVE)
CancelBlockingCall()
return FALSE
}
}
return CSocketOnMessagePending()
}

BOOL CClientSocketSetTimeOut(UINT uTimeOut)
{
m_nTimerID SetTimer(m_pDlg>m_hWnd 1 uTimeOut NULL)
return m_nTimerID
}

BOOL CClientSocketKillTimeOut()
{
return KillTimer(m_pDlg>m_hWnd m_nTimerID)
}
CServerSocketCServerSocket(CChatDlg* pDlg)
{
m_pDlg pDlg
m_nMessageCount 0
}

CServerSocket~CServerSocket()
{
}


Do not edit the following lines which are needed by ClassWizard
#if 0
BEGIN_MESSAGE_MAP(CServerSocket CSocket)
{{AFX_MSG_MAP(CServerSocket)
}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif 0


CServerSocket member functions

服务器类

void CServerSocketOnReceive(int nErrorCode)
{
TODO Add your specialized code here andor call the base class
char buffer[BufferSize]
Receive(buffer sizeof(buffer))
if (m_nMessageCount 0)
{
CString str(buffer)
m_ClientName str
str + 线
m_pDlg>ShowText(str)
for (int i 0 i < m_pDlg>m_ServerSocketsize() i++)
{
if (m_pDlg>m_ServerSocket[i] this)
{
m_pDlg>m_ServerSocket[i]>Send(str strGetLength() + 1)
}
}
}
else
{
CString str
str m_ClientName + 说 + buffer
m_pDlg>ShowText(str)
for (int i 0 i < m_pDlg>m_ServerSocketsize() i++)
{
if (m_pDlg>m_ServerSocket[i] this)
{
m_pDlg>m_ServerSocket[i]>Send(str strGetLength() + 1)
}
}
}
m_nMessageCount++

CSocketOnReceive(nErrorCode)
}

void CServerSocketOnClose(int nErrorCode)
{
TODO Add your specialized code here andor call the base class
CString str(m_ClientName)
str + 离线
m_pDlg>ShowText(str)
for (int i 0 i < m_pDlg>m_ServerSocketsize() i++)
{
if (m_pDlg>m_ServerSocket[i] this)
{
m_pDlg>m_ServerSocket[i]>Send(str strGetLength() + 1)
}
else
{
m_pDlg>PostMessage(WM_CLIENT_CLOSE i 0)
}
}
CSocketOnClose(nErrorCode)
}
建立服务器


连接服务器


进行聊天:



三 设计总结(谈谈次课程设计验体会)
通毕业设计开发学软件开发新理解增加开发力深刻理解团队合作精神次开发仅学 C++数结构sqlwinsock技术网络编程进行深入学总结出网络编程特点开发提供参考感谢老师细心指导时感谢学宝贵建议

四 参考文献
[1] David J KruglinskiProgramming Visual C++1998
[2] 施炜李铮秦颍Windows Sockets 规范应—Windows网络编程接口
1996
[3]Anthony Jones and Jim OhlumdTCPIP详解 卷:协议(英文版)
机械工业出版社2003
[4] 王罡 林立志 基WindowsTCPIP编程清华学出版社2002
[5] 蒋东兴等Windows Sockets 网络程序设计全 清华学出版社1999

五 附录

函数变量名
注释
CAboutDlg
关话框类
CChatApp
应程序运行基础
CChatDlg
窗口
ONSEND
发送消息

ContentClient
连接服务器判断否连接服务器
ONCLEAR
清聊天记录
DoDataExchange
数改变改变列表中信息显示更新列表中信息
ONCONNECT
连接服务器
ONCANCEL
退出
Oncielentclose
关闭客户端
OnCloseLink
断开已建立连接友连接
OnCtlColor
控件颜色处理提示信息颜色改变
OnInitDialog
界面进行初始化
ONSERVERCREATE
建立服务器
OnPaint
绘制界面窗口
OnserverClose
关闭服务器
OnSaveChatCont
保存聊天信息文件
青岛理工学课程设计
文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

聊天程序设计嵌入式linux课程设计报告

课程设计成果 院(系):_电气与信息工程学院_ 班 级: 计科普 学生姓名: 学 号: 设计地点(单位)___ _________ _______设计题目:_____ 聊天程序设计_________________________ _ 完成日期: 2

文***品 1年前 上传229   0

仿QQ聊天系统课程设计

仿QQ聊天系统课程设计目录绪论 1一.需求分析 11.1软件功能需求分析 21.2 安全需求分析 2二.总体设计 32.1 软件结构图 32.2 功能描述 32.2.1注册功能概要 42.2.2登录功能概要 42.2.3聊天功能概要 52.3 安全设计 6三.数据库设计 63.1概念结构设计 63.2逻辑结构设计 73.3物理结构设计 7四.详细设计 84.1

文***享 3年前 上传666   0

《Web开发》课程设计报告聊天室

《Web开发》课程设计报告(2011— 2012学年 第 2 学期)题 目: 聊 天 室 专 业: 计算机网络技术 班 级: 姓名学号: 指导教师:

文***品 3年前 上传622   0

商场局域网的组建与规划课程设计

XX 大 学课 程 设 计 说 明 书题目名称 商场局域网的组建与规划 院(系) 软件学院 专业(班级) 软件 学生姓名 指导教师 起止日期 2012.1.9~2012.1.13

文***品 3年前 上传642   0

ping程序课程设计实验报告

Windows网络程序设计课程设计 课 程 名 称 ping程序设计 姓   名 系 别 、专 业 计算机科学系网络工程班 导师姓名、职 称

文***品 2年前 上传478   0

Ping程序的设计与实现课程设计

 计算机网络课程设计报告设计名称 Ping程序的设计与实现 专业班级 同组人姓名 指导教师 成 绩 一、设计目的和要求1、实验目的 利用ICMP数据包、C语言实现

文***享 3年前 上传625   0

实验一C程序运行环境及简单程序的运行

成绩Guangxi University of Science and Technology?C语言程序设计?实验报告院 〔系〕: 计算机学院 专 业: 通信工程 班 级: 通信132班 学 生 姓 名: 王睿

郭***林 2年前 上传469   0

图书馆程序设计程序设计综合课程设计报告

XX学院计算机科学与技术系信息管理与信息系统专业《程序设计综合课程设计》报告 (2010/2011学年 第一学期)学生姓名: 学生班级: 信息管理与信息系统学生学号: 指导教师: 2010年 月 日目 录课程设计的目的....................

文***品 2年前 上传558   0

话术:新人聊天流程

亲,您好,我们是入驻天猫卖家服务市场的线上运营服务商,做整店托管服务。现在双十一已经过去了,双十二活动马上就要开始了,店家都已经开始为了年底活动进行准备,冲击销量了。年底活动期间订购一个月赠送两个月,第一个月对我们服务不满意 提升不明显 您随时可以通过订单退款。

鱼***乀 5年前 上传2247   0

聊天式作文评语

聊天式作文评语  “中心明确”、“语句优美”、“语句通顺”、“结构严谨”……这一类的作文评语是我们所常用的,久之,味同鸡肋,不写评语,称不上批改作文,写了,又枯燥乏味,对作文水平的提高也没多大促进作用。怎样才能“点”到学生脑子中去,怎样才能让学生对自己的写作有所感悟,进而有所提高?“聊天式作文评语”妙用无穷。  聊天式作文评语,顾名思义就是指教师用聊天的话语给学生的作文写评语,对学生的作

陈***正 11年前 上传537   0

编译原理课程设计报告 简单编译器的设计与实现

 编译原理课程设计 ——简单编译器的设计与实现 班 级: 组长: 组员: 指导教师: 设计时间: 姓名 分工 组长: 语法分析部分,语义分析和中间代码生成部分,符号表的管理,目标代码的生成,数据结构的设计和总体框架的设计。 组员: 中间代码优化部分,负责从DAG图中获得优化后的四元式代码,以及

文***享 5年前 上传1877   0

简单模型机的设计说明书(课程设计)

计算机组成原理课程设计任务书题目: 模型机设计 学生姓名: 学 号: 班 级: 软件工程班 指导教师: 一、 计算机组成原理课程设计题目简介该设计要求学生根据计算机组成原理课程所学知识,设计、开发一套简单的模型计算机。通过对一个简单计算机的设计,以达到对计算机的基本组成、

文***品 3年前 上传589   0

计算机组成原理简单模型机设计课程设计

计算机组成原理课程设计任务书题目: 模型机设计—1 学生姓名: 学 号: 班级:计算机科学与技术班 指导老师: 一、 计算机组成原理课程设计题目简介该设计要求学成根据计算机组成原理课程所学知识,设计、开发一套简单的模型就算计。通过对一个简单计算机的设计,以达到对计算机的基本组成、部件

文***享 2年前 上传512   0

低压电缆试验报告

0.4kV电 力 电 缆 试 验 报 告运行单位郁南恒信广场型 号ZR-YJV规 格2(1×240)mm2厂 家新南达实业额定电压0.6/1kV出厂日期2013-8-20长 度94m温 度27℃湿 度65%安装位置恒信广场专用配电站#1变压器低压侧至 P04进线柜电阻测试相 别绝缘电阻(MΩ)试验电压(kV)耐压时间(S)a30

文***享 1年前 上传579   0

肥料试验报告格式

肥料试验报告格式 页面设置 页边距:左右3.0、上下2.5。文字行距28磅,表格行距16磅 封页: 肥肥效鉴定田间试验报告----字体隶书字号小初   试验承担人: 试验负责人: 试验单位: 报告完成时间: ---------字体隶书 字号三 正文:另起页 宋体字,4号字。 试验目的 1.试验(示范)方法 1.1试材 供试材料:试验肥料

小***胡 13年前 上传12352   0

小学算术运算测试程序JAVA课程设计报告

面向对象程序设计(JAVA)课程设计说明书学院名称: 计算机与信息工程学院 班级名称: 20XX级计算机科学与技术 题 目: 小学算术运算测试程序 面向对象程序设计(JAVA)课程设计任务书学 院计算机与信息工程学院专 业20XX级计算机科学与技术

文***品 3年前 上传699   0

驱动程序实验报告操作系统课程设计报告

操作系统课程设计报告班级: 计科 姓名: 学号: 老师: 时间:2012年X月X日一、设计目的操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学

文***享 1年前 上传300   0

小学数学测试系统C课程设计报告及源程序代码

课 程 设 计 报 告课程名称 C语言课程设计 课题名称 小学数学测试系统 专 业 班 级 学 号 姓 名

文***享 3年前 上传433   0

车速控制系统程序及仿真课程设计说明书

交通与汽车工程学院课程设计说明书课 程 名 称: 汽车电控系统实习及课程设计 课 程 代 码: 题 目: 车速电控系统设计及其仿真 年级/专业/班: 级/车辆工程/汽电班 学 生 姓 名: 学 生

z***u 1年前 上传269   0

数据结构课程设计舞伴配对程序

沈阳航空航天大学课 程 设 计 报 告课程设计名称:数据结构课程设计课程设计题目:舞伴配对程序院(系):计算机学院专 业:计算机科学与技术班 级: 学 号:姓 名:指导教师:完成日期:2014年目 录第1章 概要设计 11.1题目的内容与要求 11.2总体结构 2第2章 详细设计 32.1主函数的流程图 32.

文***享 1年前 上传287   0

微机课程设计报告计算机钢琴的程序编写

微 机 课 程 设 计题 目计算机钢琴的程序编写学 院物信学院专 业电子信息工程班 级电信班姓 名学号指导教师一.实验目的 1.掌握利用pc机扬声器发出不同频率声音的方法。 2.学习利用系统功能调用从键盘上读取字符的方法。二.实验内容 编写程序,程序运行时使pc机成为一架可弹奏的”钢琴”。当

文***品 3年前 上传663   0

非编码键盘的扫描程序设计课程设计

摘 要 11设计方案 21.1 设计任务 21.2 设计方案 22系统硬件设计 32.1最小应用系统 32.2 8155扩展电路 42.3 矩阵键盘接口电路 62.4 LCD1602接口电路 62.5 主电路设计 83系统软件设计 83.1主程序设计 93.2 延时程序设计 93.3 键盘扫描子程序设计 103.4 显示子程序设计 114 系统调试与结

文***享 2年前 上传353   0

论文:校园局域网的组建

随着网络建设的逐步普及,大学高校局域网络的建设是高校向高水平、研究性大学跨进的必然选择,高校校园网网络系统是一个非常庞大而复杂的系统,它不仅为高校的发展、综合信息管理和办公自动化等一系列应用提供基本操作平台,而且,能够使教育、教学、科研三位一体,提高教育教学质量。而校园网网络建设中主要应用了网络技术中的重要分支局域网技术来建设与管理的,因此本毕业设计课题将主要以校园局域网络建设过程可能用到的各种技术及实施方案为设计方向,为校园网的建设提供理论依据和实践指导。高校校园网的网络建设与网络技术发展几乎是同步进行的。

糖***哦 5年前 上传5498   0

办公局域网组建方案

在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用,随着Internet技术的普及和应用,办公自动化系统已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。作为Intranet的重要应用,局域网必须能够与Internet相连接,包括电子邮件、Web发布等,这不仅沟通了机关内外的信息、对外宣传了机

o***d 15年前 上传19125   0

无线局域网技术

     随着计算机技术和电子信息技术的日渐成熟,电子产品以前所未有的速度迅速进入千家万户。而网络的普及,家庭用户对Internet的需求也越来越多。我们如果能将繁杂的电子产品有机的进行连接,组成一个家庭局域网,就可以实现软硬件资源共享,合理利用网络资源,满足各家庭成员的使用需求。      一、组网前期准备        在组建家庭无线局域网之前,根据自身家庭的需求进行分析,以基本的一

8***超 9年前 上传6442   0