聊天室vc实现 [设计文档]
18:51:55 2010-11-01
基于TCP/IP协议的,简单聊天室的vc实现。
感觉一团乱糟糟,在写文档,花3天的时间。
2010-11-03 15:21:46
基于TCP/IP协议的聊天室实现
---概要设计
一、功能需求分析
服务端
1.首先初始化服务器,即启动服务器,
当编译运行服务端后,弹出一对话框,显示,“服务器初始化成功”。
用户登录,服务器端对话框,显示 “时间、、某某进入聊天室”。
用户退出,服务器端对话框,显示“ 时间 **离开聊天室” 。
客户端,
1.编译运行,弹出登录对话框,显示要求用户登录、
输入用户名,用户IP地址。
2.用户输入信息,单击“确定”按钮后,直接弹出、进入聊天对话框。
与此同时,服务器端对话框,显示 “时间、、某某进入聊天室”等信息。
3.然后在客户端对话框,即聊天室对话框下,
已登录并连接服务器的用户,可以发送信息,这里暂只考虑只发送给大家,
相当于Qq群内,聊天,不处理私聊 等功能。
4.客户端支持多个用户连续登录服务器,与大家聊天。
相当于,多人登录Qq后,进入qq群,当某一用户退出时,
与此同时,服务器端对话框,显示“ 时间 **离开聊天室。
二、设计思路分析
基于TCP/IP的通信基本上都是利用SOCKET套接字进行数据通讯,
程序一般分为服务器端和用户端两部分。设计思路(VC6.0下):
第一部分 服务器端
一、创建服务器套接字(create)。
二、服务器套接字进行信息绑定(bind),并开始监听连接(listen)。
三、接受来自用户端的连接请求(accept)。
四、开始数据传输(send/receive)。
五、关闭套接字(closesocket)。
第二部分 客户端
一、创建客户套接字(create)。
二、与远程服务器进行连接(connect),如被接受则创建接收进程。
三、开始数据传输(send/receive)。
四、关闭套接字(closesocket)。
三、编码步骤分析
在创建MFC程序第二步的时候选上Windows Socket选项。
编码步骤:
1.服务器端,初始化服务器。
2.编写用户登录对话框,CLoginDlg中,输入用户信息,昵称+服务器IP地址。
3.当用户单击确定时,若连接服务器成功,则直接弹出聊天对话框,
进入聊天室界面。
否则,弹出警告框,提示“网络创建错误”,即Create函数调用出错。
或者,弹出警告框,提示“连接服务器失败!”,即Connect函数调用出错。
4.构造CSocket对象,
服务端的信息显示:
ServerSocket,
OnAccept(连接ConnectList)。
ClientSocket,
OnReceive(某某进入聊天室),OnClose(某某离开聊天室)
OnInitDialog(服务器初始化成功)
UpdateUser(用户记录更新)
客服端:
ClientSocket (OnReceive)
登录对话框上,单击确定按钮,调用Connect函数。
聊天对话框上,具体设计OnSend、函数。
5.编写Create函数,创建Socket。Create会自动调用Bind函数,
将创建的Socket绑定到指定的 服务器IP地址,和端口上。
6.启动服务器,Socket监听Listen,是否有连接请求,
7.具体连接服务器,Connect,指定服务器IP地址,和端口。
8.服务器接受请求,Accept(ReceiveSocket),
此时服务器端,还需建立一个新的CSocket对象,用来与客户端进行交流。
即当 用户进入聊天室,和离开聊天室,服务器端,都能显示相应的用户信息。
9.然后是,聊天室中,实现聊天等功能,的Receive和Send函数的设计。
-- July、2010/11、03。
进入具体设计阶段,
第三天 文档 11/05
基于TCP/IP协议的聊天室实现
---具体设计
....
设计已经结束。11.25.