网络编程课程设计汇本.docx
《网络编程课程设计汇本.docx》由会员分享,可在线阅读,更多相关《网络编程课程设计汇本.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网络编程课程设计说明书基于TCP/IP的网络文字聊天程序设计专业:网络工程班级:网络7878姓名:周岐就学号:6554773546时间:图二服务器流程图进入聊天室1. TCP聊天服务器程序2. TCP聊天客户端程序二流程图1.服务器流程图开场protected:CServerDlg* m_pDlg;4、向CServerSocket类收,为m_pDlg成员变量赋值。代码如下:1=void C S er ver S ocke t: S e|z输入文字ylalog)m_pDlg = pDialog; 1发送消息5、改写CServerSocket L , 一 一在套接字有连接请求时承受 其连接。代码如
2、下:void CServerSocket:nitrsrrc完毕CSocket:OnAccept(nErrorCode);if (m_pDlg)m_pDlg-AcceptConnect();6、从CSocket类再次派生一个新类CClientSocket,在该类中定义成员变量 m_pDlg o代码如下:protected:CServerDlg* m_pDlg;7、向CClientSocket类中添加SetDialog函数,为m_pDlg成员变量赋值。 代码如下:void CClientSocket:SetDialog(CServerDlg* pDialog)(m_pDlg = pDialog;)
3、8、改写CServerSocket类中的OnReceive方法,在套接字有数据接收时接收 数据。代码如下:void CClientSocket: :OnReceive(int nErrorCode)(CSocket: :OnReceive(nErrorCode);if(m_pDlg)(m_pDlg-ReceiveData(*this);)9、在对话框类中添加如下成员变量:CPtrList m socketlist;CServerSocket m_ServerSock;10向对话框类中添加AcceptConnect方法,承受客户端的连接。代码如下:void CServerDlg:AcceptCo
4、nnect()(CClientSocket* psocket 二 new CClientSocket();psocket-SetDialog(this);if (m_ServerSock.Accept(*psocket)m_socketlist.AddTail(psocket);elsedelete psocket;)11、向对话框类中添加ReceiveData方法,用于接收套接字数据。代码如下: void CServerDlg:ReceiveData(CSocket &socket)(char bufferdataBUFFERSIZE;int len = socket.Receive(buf
5、ferdata,BUFFERSIZE);if (len != -1)(bufferdatalen = 0;POSITION pos = m_socketlist.GetHeadPosition();while (pos != NULL)CClientSocket* socket 二(CClientSocket*)m_socketlist.GetNext(pos);if (socket != NULL)socket-Send(bufferdata,len);)12、处理“设置按钮的单击事件,创立并开场监听套接字。代码如下:void CServerDlg:OnConfig()(m_ServerSo
6、ck.SetDialog(this);CString strPort,strIP;m_ServerPort.GetWindowText(strPort);m_ServerIP.GetWindowText(strIP);if (!strPort.IsEmpty() & !strIP.IsEmpty()(UINT port = atoi(strPort);m_ServerSock.Create(port,SOCK_STREAM,strIP);BOOL ret 二 m_ServerSock.Listen();if (ret)MessageBox(设置成功!提示)二创立客户端1、创立一个基于对话框的应
7、用程序,工程名为Client2、在类CClientApp中Initlnstance方法中初始化套接字。代码如下: WSADATA wsd;WSAStartup(MAKEWORD(2,2),&wsd);3、从CSocket类中派生出CClientSocket类,在该类中添加m_pDialog成员。 代码如下:protected:CClientDlg *m_pDialog;4、在CClientSocket中添加SetDialog方法,用于设置成员变量。代码如下: void CClientSocket:SetDialog(CClientDlg *pDialog)(m_pDialog = pDialo
8、g;)5、改写CClientSocket类中的OnReceive旭方法,在套接字有数据接收时调 用该方法。代码如下:void CClientSocket:OnReceive(int nErrorCode)(CSocket: :OnReceive(nErrorCode);if (m_pDialog != NULL)m_pDialog-ReceiveText();6、在对话框类中添加如下成员变量:CClientSocket m SockClient;CString m_Name;7、在对话框类中添加ReceiveText方法接收数据。代码如下:void CClientDlg:ReceiveText
9、()(char bufferBUFFERSIZE;int len = m_SockClient.Receive(buffer,BUFFERSTZE);if (len != -1)(bufferlen = 0;m_List.AddString(buffer);)8、在对话框初始化时创立套接字。代码如下:m_SockClient.Create();m_SockClient.SetDialog(this);9、处理“登录按钮的单击事件,开场登录服务器。代码如下: void CClientDlg:OnLogin()(CString strIP,strPort;UINT port;m_ServerIP.
10、GetWindowText(strIP);m_NickName.GetWindowText(m_Name);m_ServerPort.GetWindowText(strPort);if (strlP.IsEmptyO | strPort.IsEmptyO | m_Name.IsEmpty() (MessageBox(请设置服务器信息,提示) return;port = atoi( strPort);if (m_SockClient.Connect(strIP,port) (MessageBox。连接服务器成功! 丁提示) CString str;str.Format(H%s%s,m_Name,
11、”进入聊天室);m_SockClient.Send(str.GetBuffer(0)9str.GetLength();) else( MessageBox(连接服务器失败!”,”提示)10、处理“发送按钮的单击事件,向服务器发送数据,再由服务器转发这 些数据。代码如下:void CClientDlg:OnSendText()(CString strText,strinfo;m_Text.GetWindowText(strText);if (! strText.IsEmpty() & !m_Name.IsEmpty()strInfo.Format(n%s 说:%s1 m_Name,strText
12、); intlen =m_SockClient.Send(strInfo.GetBuffer(strInfo.GetLength(),strinfo.GetLength();)六、程序就图(一)服务器界面截图图四设置服务器(二溶户七、召服务器端。7 I /W 区刀,此聊上乙 V、,心 UJ I务器端的IP地址登陆到聊天室,从而接入聊天网络,实现局域互通。接下来就 介绍一下此程序的使用过程:首先,服务器端应该开启监听服务,等待客户端的连接请求,并实时的给予 响应。当服务器端口处于监听状态,可以承受来自任何一个客户端的连接请求。于 是开启客户端进展连接。注:服务器IP必须是电脑本机IP。在客户端口
13、里面,可选项有:服务器IP地址,端口号,用户昵称。入、课程设计总结经过了几周的复习,我终于可以踏踏实实地完成自己的课程设计了。在第 十五周的这几天里,我查阅了很多资料,观看了很多的视频,做的事情都离不开 课程设计。当然,在课程设计的过程中我也学到了不少。如今,人们不仅可以在网上查询自己需要的资源,而且可以通过网络进展实 时的沟通,从实时性和有效性上都超过了用信件和E-Mail,并且在费用上要低 于 。因而各种聊天服务备受用户青睐,在这方面的开发与应用也较多1,聊 天服务也成为互联网提供的重要服务之一。互联网的大多数网站都建有聊天室, 并且有专业聊天网站提供聊天服务。随着计算机和网络技术的开展,
14、很多数据处 理系统都采用开放系统构造的客户机/服务器(Client/server)网络模型,即客户机向 服务器提交请求,服务器对请求做相应的处理兵执行被请求的任务,然后将构造返 回给客户机。这种方式隐含了在建设客户机服务器间通信是的非对称性。客户机 /服务器模型工作时要求有一套为客户机和服务器所共识的惯例来保证服务能够 被提供(或被承受),这一套惯例包含了一套协议,它必须在通信的两头都被实 现。根据不同的实际情况,协议可能是对称的或非对称的。在对称的协议中每一 方都有可能扮演主从角色;在非对称协议中一方被不可改变地认为是主机,而另 一方那么是从机。一个对称协议地例子是Internet中用于终端
15、仿真地Telnet,而 非对称协议地例子是Internet中的 。无论具体的协议是对称的或是非对称的, 当服务被提供时必然存在客户进程和服务进程。一个服务程序通常在一个众所周 知地地址监听客户对服务地请求,也就是说,服务进程一直处于休眠状态,直到 一个客户对这个服务地址提出连接请求。在这个时刻,服务程序被“惊醒”并且 为客户提供服务-对客户地请求作出适当的反响。通过测试说明该系统可以方便的建设连接,断开连接,实现网络在线聊天系 统的在线好友查找,发送消息和接收消息等功能。通过本次毕业设计,我也感受到 了开源的方便,遇到什么问题,上网一查,就知道该怎么弄了,以前做个课程设计都 是怕别人和我的一样
16、,不愿意给别人看,现在知道了程序弄不出来是多么的着急, 学习都是相互的,互相研究才能共同进步的。参考文故1武爱平等著?C语言程序设计?长春.吉林大学出版社.20102陈庆章、赵小敏著?TCP/IP网络原理与技术?北京.高等教育出版社.20063 TCP/IP网络互连 第3卷 客户/服务器编程及应用Linux/POSIX Sockets版. 人民邮电出版社.4谢希仁.计算机网络(第5版)北京:电子工业出版社,2008. 李凌.Winsock2网络编程实用教程.清华大学出版社.20056 VisualC+.NET程序设计.清华大学出版社.20027 Douglas E Comer , David
17、L Stevens. Internet Working With TCP/ IP VolII :Design , Implementation and Internal M.张娟,等译.北京:电子工业出版 社998.李鹏.计算机通信技术及其程序设计M.西安:西安电子科技大学出版 社,1998.9黄超.Windows网络编程M .北京:人民邮电出版社,200010刘运强,王汇源ISocket和多线程在视频传输的应用山东大学学报(工学 ),2004,34(2) :452501Socket 接口是TCP/IP 网络的 API(应用程序接口),Windows Sockets (Winsock) 是一个
18、基于Socket模型的API。本文通过论述了 Windows环境下的实现计算机 数据传输服务的机制,提供了一种网络环境下实现计算机通信的手段分析了 TCP/IP协议的体系构造、组成与功能以及通过TCP/IP协议实现异构型网络互连 的机理。对TCP/IP协议提供的两种通信功能进展了分析,辩证地提出了它们不同 的应用场合。本聊天工具使用VC+语言和较成熟的微软的mfc71作为开发语言 本文详细介绍了本聊天工具的开发过程。并从系统的需求分析、系统分析、详 细设计的整个开发过程进展全面论述。最后,给出了在TCP/IP根基上开发通信应 用程序的编程模型和实现要点,对用户开发应用程序有一定参考意义。关键词
19、:网络;TCP/IP协议通信编程VC+引言Internet上的聊天室一向是一个吸引人的地方 多用C语言或是web网络 语言进展设计。Internet上数据传输协议主要有TCP和UDP。TCP是有连接协议 它要求计算机进展对话时必须先建设连接。保证数据传送安全到达目的地。UDP 是无连接协议。它只是将信息送到网络上并不检查数据是否到达了目的地。要进 展实时会话。那么应该采用TCP协议。本程序采用的协议就是TCP协议。传输控 制协议 TCP (Transmission Control Protocol)是 Internet 最 基本的网络通 信协议,它由一系列协议组成,其中核心协议是传输层的TCP
20、和UDP( User DatagramProtocol,用户数据报协议)协议。TCP协议属于“面向连接,可靠传输的型, 面向连接的传输意味着在进展通信以前,需要在两个系统之间建设逻辑连接, 在每个数据传输的过程中都需要进展应答以保证数据包的完整,这种方法可以 保证数据传输的可靠性,但所需的网络开销较大 UDP协议属于“面向无连接, 不可靠传输的类型,该协议只负责接收和传送上层协议传递的消息,它本身 不做任何的检测、修改与应答,网络开销一般要小于TCP协议。在优良的网络环 境,UDP的工作效率较TCP协议要高。在Windows环境下开发网络应用程序,通 常都是使用Microsoft的网络编程接口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 编程 课程设计
限制150内