东南大学 计网 第三次试验.doc

上传人:夏** 文档编号:561732398 上传时间:2022-08-24 格式:DOC 页数:8 大小:81.01KB
返回 下载 相关 举报
东南大学 计网 第三次试验.doc_第1页
第1页 / 共8页
东南大学 计网 第三次试验.doc_第2页
第2页 / 共8页
东南大学 计网 第三次试验.doc_第3页
第3页 / 共8页
东南大学 计网 第三次试验.doc_第4页
第4页 / 共8页
东南大学 计网 第三次试验.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《东南大学 计网 第三次试验.doc》由会员分享,可在线阅读,更多相关《东南大学 计网 第三次试验.doc(8页珍藏版)》请在金锄头文库上搜索。

1、东南大学自动化学院实 验 报 告课程名称: 信息通信网络概论 第 三 次实验实验名称: 基于客户/服务器模式的网络通信客户端和服务器端设计 院 (系): 自动化 专 业: 自动化 姓 名: 耿佳辉 学 号: 08011317 实 验 室: 403 实验组别: 同组人员: 实验时间:2013年12月 16日评定成绩: 审阅教师: 目 录一 实验目的和要求3二实验原理 3三实验方案与实验步骤 3四实验设备与器材配置 3五实验记录 3六思考题或讨论题 4实验报告内容:一 实验目的和要求1在前面两个实验的基础上进一步了解网络编程的过程。2掌握Windows环境下基于WinSock的编程方法和通讯实现。

2、3编写一个聊天程序,即以客户端和服务器的模式进行互发消息。 利用客户端和服务器模式,编写一个点对点的,可以相互发送和接收消息的程序,也就是常说的聊天工具。该工具具有既可以作为服务器也可以做为客户端使用。 当作为服务器时,能输入IP值和端口值,并能进行在线侦听,能接受连接请求,并实现消息互发。 当作为客户端时,能输入服务器的IP值和端口值,并进行连接请求,能与服务器进行互发消息,聊天结束后还要实现与服务器的断开的功能。二 实验原理三 实验方案与实验步骤使用的函数 服务器端: 建立Socket:调用 成员函数Socket()函数 绑定端口:调用成员函数bind()函数 (注:对于MFC编程我们只要

3、调用Create()函数就可以包括上面的两个函数) 监听:调用成员函数listen()函数 CMySocket m_sConnectSocket;CMySocket m_sListenSocket;/是客户机还是服务器if(m_cmbType.GetCurSel()=1)/是服务器/创建于设置端口绑定的套接字m_sListenSocket.Create(m_nServPort);/开始侦听m_sListenSocket.Listen(); else/是客户机/创建一个默认的套接字m_sConnectSocket.Create();/发出连接请求m_sConnectSocket.Connect(

4、m_strServName,m_nServPort); 监听:调用成员函数listen()函数 服务器端接受客户端的连接请求:调用成员函数accept() 函数 /对于服务器void CgengjiahuiDlg:OnAccept()/对于服务器/接受连接请求m_sListenSocket.Accept(m_sConnectSocket);/接受连接请求/ 客户端: 建立客户端的 Socket :调用 socket() 函数 (注:我们也是调用Create()函数来完成Socket的建立的) 提出连接申请 :调用成员函数connect()函数以上这些函数我们是在重载前面的虚拟函数时使用的,例如

5、OnAccept()函数中调用accept() 函数等等。数据发送部分void CgengjiahuiDlg:OnSendMsg() int nLen;/消息长度int nSent;/已发送消息的长度/从对话框取回数据UpdateData(TRUE);/判断要发送的消息是否为空if(!m_strMsg.IsEmpty()/获取消息的长度nLen = m_strMsg.GetLength();/发送消息nSent = m_sConnectSocket.Send(LPCTSTR(m_strMsg),nLen);/发送是否成功if(nSent!=SOCKET_ERROR)/将消息添加到“已发送列表框

6、”m_listSent.AddString(m_strMsg);/更新对话框UpdateData(FALSE);elseAfxMessageBox(信息发送错误,MB_OK|MB_ICONSTOP);接收,数据段处理部分char* pBuf = new char1025;/char pBuf1025;int nBufSize = 1024;int nReceived;CString strReceived;/接收消息nReceived = m_sConnectSocket.Receive(pBuf,nBufSize); /判断消息接收是否成功?if(nReceived!=SOCKET_ERRO

7、R)/保留接收消息的有效部分pBufnReceived = NULL;/将消息转化为CString对象strReceived = pBuf;/将消息添加到“已接收的消息”列表框m_listReceived.AddString(strReceived);/更新对话框/UpdateData(FALSE);elseAfxMessageBox(信息接收错误!,MB_OK|MB_ICONSTOP); delete pBuf;四 实验设备与器材配置实验环境visual c+ 6.0 MFC五 实验记录六 实验总结这个应用程序在MFC WinSock编程中很有代表性,可以用于两台计算机之间进行字符串传输;创

8、建思路简单,就是利用MFC AppWizard生成程序框架,通过对CAsynSocket类增加一个指向对话框类得指针,对CAsynSocket类中的一些事件处理函数进行重载,使这些套接字事件发生时,应用程序能够自动到对话框类中寻找合适的函数执行。这个聊天室应用程序是基于客户服务器模型的,一个服务器只能支持一个客户,因此它实际上是一个基于“点对点”模型的应用程序。通过这个应用程序,用户可以在两台计算机之间进行字符串传输即可以为两个人进行网上聊天提供服务,而且两个人的传输的字符串被保留在程序的列表框中,并且进行分类,分为传送和接收的字符串。七 思考题或讨论题1 本次实验所涉及的“实体”是什么?实体

9、间通过什么方式建立协议?答:实体,可以理解为具体的设备,计算机之类的终端、路由器交换机之类的连接设备都是实体。本次实验中实体即客户端和服务器,是通过创建套接字,服务器端侦听,客户端发送连接请求,然后服务器和客户端连接,即客户端-服务器方式建立协议. TCP/IP应用服务采用客户机/服务器工作模式,服务器端启动守护进程,等待客户端的请求;服务器对应客户端的请求,派生子进程与客户进程进行数据通信,提供服务。2. 服务和协议的区别与联系?本次实验的协议过程(即客户-服务器方式)是怎样建立的?用哪那些服务?答:首先,协议的实现保证了能够向上一层提供服务,使用本层服务的实体只能看见服务而无法看见下面的协

10、议,协议是水平的。下面的协议对上面的实体是透明的 其次,协议是“水平的”即协议是控制对等实体之间通信的规则但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。另外,并非在一个层内完成的全部功能都称之为服务,服务是上下的。只有那些能够被高一层实体看得见的功能才能被称之为“服务”TCP/IP应用服务采用客户机/服务器工作模式,服务器端启动守护进程,等待客户端的请求;服务器对应客户端的请求,派生子进程与客户进程进行数据通信,提供服务。(1)服务器(HostA)首先要启动应用程序服务进程(守护进程Server),等待客户端的请求。(2)当服务进程Server接收到客户端HostB的请求时,派生

11、一个子进程(Child1)与HostB进行交互,实现数据通信,同时守护进程Server继续等待客户端的请求。(3)当服务进程Server接收到客户端HostC的请求时,派生一个子进程(Child2)与HostC进行交互,实现数据通信,同时守护进程Server继续等待客户端的请求。本次实验客户-服务器协议主要提供发送消息和接收消息的服务。3. 本次实验的协议提供了什么服务?试想,用此协议还可以提供怎样的服务?这种服务在自动化学科领域的意义是什么?(1)简单的信息传递,即使用套接字处理消息的发送和接收。(2)处理文件的传输。传输都是基于文本流进行的,协议提供了接收文本流和发送文本流的服务,因此,可

12、以进行文本传输。以上两种服务,都是由程序员自定义进行的。(3)在更高一层上,该协议还可以提供很多的高端服务:对于自动化的意义:TCP/IP协议不依赖于任何特定的计算机硬件或操作系统,提供开放的协议标准,即使不考虑Internet,TCP/IP协议也获得了广泛的支持。所以TCP/IP协议成为一种联合各种硬件和软件的实用系统。TCP/IP协议并不依赖于特定的网络传输硬件,所以TCP/IP协议能够集成各种各样的网络。用户能够使用以太网(Ethernet)、令牌环网(Token Ring Network)、拨号线路(Dial-up line)、X.25网以及所有的网络传输硬件。统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有惟一的地址 标准化的高层协议,可以提供多种可靠的用户服务。IP传输通用数据。数据能够用于任何目的,并且能够很轻易地取代以前由专有数据网络传输的数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号