网络编程设计大报告

网络编程设计大报告

ID:30869656

大小:305.57 KB

页数:8页

时间:2019-01-04

网络编程设计大报告_第1页
网络编程设计大报告_第2页
网络编程设计大报告_第3页
网络编程设计大报告_第4页
网络编程设计大报告_第5页
资源描述:

《网络编程设计大报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、网络编程设计报告学院:信息工程与自动化学院专业:通信工程班级:通信112班姓名:李建云学号:201110404249指导老师:谢涛日期:2014年6月7号关于聊天室的设计报告一、设计的目的本次设计的口的是采用TCP协议下的Socket实现聊犬的效果,在网络编程中采用的方案是Qient/Server(客户机/服务器)模型。在这种方案中客户应用程序向服务器应用程序请求服务,一个服务程序通常在一个众所周知的地址监听对服务器的请求,也就是说,服务进程一直处于休眠状态,直到一个客户端对这个服务器的地址发出连接请求。在这个

2、时候,服务器被“惊醒”并且为客户提供服务器对客户端的请求的应答。客户端的到服务器的应答也就是完成了TCP/IP的三次握手,这样就可以进入聊天室聊天了,在聊天界而中的呢称自由设定,配有字体设置按钮,可以进行字体的设置,还有连接和发送信息按钮。木次设计要满足以上的要求。二、开发的环境操作系统;windows7开发语言:6+三、主要完成的功能木次设计所要完成的功能是设计一个聊天室,支持多人聊天,若是不喜欢现在的字体,还可以修改字体。四、功能实现的流程图五、主要的代码及分析1・服务器监听端口函数:voidCServer

3、Dlg::OnOK(){this->UpdateData();m_pSocket=newCServerSocket(this);//this定义使川的是本机的IPif(!m_pSocket->Create(70)){MessageBoxC*套接字创建失败”);deletemjDSocket;m_pSocket=NULL;return;}if(!m_pSocket->Listen())MessageBox(,r监听失败“);//若处于正在监听状态。则消息盒子显示“监听失败”的信息实现三次握于•的函数:voidCS

4、erverDlg::ReceiveData(CaientSocket*socket){if(font){LOGFONTtemp;//接收传來的字体数据intfactdata=socket->Receive(&temp,sizeof(temp));font=FALSE;POSITIONpos=m_socketlist.GetHeadPosition();//将数据发送给每个客户端while(pos!=NULL){COientSocket*socket=((DOientSocket*)m_socketIist.Ge

5、tNext(pos);if(socket!=NULL)socket->Send(&temp,sizeof(temp));9eep(100);}}elsefcharbufferdata[BUFFERSIZE];〃接收客户端传來的数据intresult=socket->Receive(bufferdata,BUFFERSIZE);bufferdata[result]=0;if(bufferdata[O]=='〜'){font=TRUE;POSITIONpos=m_socketlist.GetHeadPosition

6、();//将数据发送给每个客八端while(pos!=NULL){CXDIientSocket*socket=(COientSocket*)msocketIist.GetNext(pos);if(socket!=NULL){socket->Send(bufferdata,result);}Sleep(100);}}else{POSITIONpos=m_socketlist.GetHeadPosition();//将数据发送给每个客户端while(pos!=NULL){(DCIientSocket*socket=

7、(CXDIientSocket*)m_socketIist.GetNext(pos);if(socket!=NULL)socket->Send(bufferdata,result);Sleep(100);2.客户端连接按钮的函数:voidCaientDlg::OnButtonjoin(){UpdateData(true);CStringservername=m_servername;〃读取服务器名称intport;port=70;〃获取端口if(!pMysocket->Connect(servername,po

8、rt))〃连接服务器{MessageBox(M连接服务器失败!");return;}CStringstr;str.Format(H%s一…>%s",m_name,n进入聊天室”);pMysocket->Send(str.GetBuffer(0),str.GetLength());GetDlgltem(lDCLBUTTONJOIN)->EnableWindow(FALSE);}字体设置的

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

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

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